@visactor/vchart 2.1.0-alpha.5 → 2.1.0-alpha.6

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 (204) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +344 -227
  3. package/build/index.js +344 -227
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/base/base-chart.d.ts +1 -0
  7. package/cjs/chart/base/base-chart.js +10 -2
  8. package/cjs/chart/base/base-chart.js.map +1 -1
  9. package/cjs/chart/gauge/gauge-transformer.js +3 -2
  10. package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
  11. package/cjs/chart/polar/polar-transformer.js +1 -1
  12. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  13. package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
  14. package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  15. package/cjs/chart/progress/circular/circular-progress-transformer.js +3 -2
  16. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  17. package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
  18. package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  19. package/cjs/chart/radar/radar-transformer.js +3 -2
  20. package/cjs/chart/radar/radar-transformer.js.map +1 -1
  21. package/cjs/chart/range-area/range-area-transformer.js +2 -2
  22. package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
  23. package/cjs/chart/rose/rose-transformer.js +2 -1
  24. package/cjs/chart/rose/rose-transformer.js.map +1 -1
  25. package/cjs/component/axis/polar/band-axis.d.ts +2 -0
  26. package/cjs/component/axis/polar/band-axis.js +3 -0
  27. package/cjs/component/axis/polar/band-axis.js.map +1 -1
  28. package/cjs/component/axis/polar/linear-axis.js +3 -0
  29. package/cjs/component/axis/polar/linear-axis.js.map +1 -1
  30. package/cjs/component/indicator/indicator.js +2 -2
  31. package/cjs/component/indicator/indicator.js.map +1 -1
  32. package/cjs/component/indicator/util.d.ts +4 -3
  33. package/cjs/component/indicator/util.js +1 -1
  34. package/cjs/component/indicator/util.js.map +1 -1
  35. package/cjs/core/expression-function.js +1 -1
  36. package/cjs/core/factory.js +1 -1
  37. package/cjs/core/index.js +1 -1
  38. package/cjs/data/data-view-utils.js +1 -1
  39. package/cjs/data/initialize.js +1 -1
  40. package/cjs/data/register.js +1 -1
  41. package/cjs/data/transforms/box-plot.d.ts +4 -1
  42. package/cjs/data/transforms/box-plot.js +3 -3
  43. package/cjs/data/transforms/box-plot.js.map +1 -1
  44. package/cjs/data/transforms/correlation-center.d.ts +11 -4
  45. package/cjs/data/transforms/correlation-center.js +3 -2
  46. package/cjs/data/transforms/correlation-center.js.map +1 -1
  47. package/cjs/data/transforms/correlation.d.ts +18 -15
  48. package/cjs/data/transforms/correlation.js +22 -17
  49. package/cjs/data/transforms/correlation.js.map +1 -1
  50. package/cjs/data/transforms/funnel.d.ts +10 -8
  51. package/cjs/data/transforms/funnel.js +4 -3
  52. package/cjs/data/transforms/funnel.js.map +1 -1
  53. package/cjs/data/transforms/lookup.d.ts +3 -3
  54. package/cjs/data/transforms/lookup.js +12 -7
  55. package/cjs/data/transforms/lookup.js.map +1 -1
  56. package/cjs/data/transforms/map.d.ts +8 -2
  57. package/cjs/data/transforms/map.js +9 -6
  58. package/cjs/data/transforms/map.js.map +1 -1
  59. package/cjs/data/transforms/sankey.d.ts +12 -4
  60. package/cjs/data/transforms/sankey.js +18 -13
  61. package/cjs/data/transforms/sankey.js.map +1 -1
  62. package/cjs/data/transforms/stack-split.d.ts +2 -1
  63. package/cjs/data/transforms/stack-split.js +1 -1
  64. package/cjs/data/transforms/stack-split.js.map +1 -1
  65. package/cjs/data/transforms/treemap.d.ts +5 -3
  66. package/cjs/data/transforms/treemap.js +7 -6
  67. package/cjs/data/transforms/treemap.js.map +1 -1
  68. package/cjs/data/transforms/venn.d.ts +4 -2
  69. package/cjs/data/transforms/venn.js +4 -4
  70. package/cjs/data/transforms/venn.js.map +1 -1
  71. package/cjs/data/transforms/waterfall.d.ts +4 -2
  72. package/cjs/data/transforms/waterfall.js +7 -7
  73. package/cjs/data/transforms/waterfall.js.map +1 -1
  74. package/cjs/series/base/base-series.js +2 -2
  75. package/cjs/series/base/base-series.js.map +1 -1
  76. package/cjs/series/box-plot/box-plot.js +2 -2
  77. package/cjs/series/box-plot/box-plot.js.map +1 -1
  78. package/cjs/series/correlation/correlation.js +13 -11
  79. package/cjs/series/correlation/correlation.js.map +1 -1
  80. package/cjs/series/dot/dot.d.ts +11 -0
  81. package/cjs/series/dot/dot.js +16 -1
  82. package/cjs/series/dot/dot.js.map +1 -1
  83. package/cjs/series/funnel/funnel.js +5 -8
  84. package/cjs/series/funnel/funnel.js.map +1 -1
  85. package/cjs/series/map/map.js +3 -3
  86. package/cjs/series/map/map.js.map +1 -1
  87. package/cjs/series/polar/progress-like/progress-like.d.ts +2 -0
  88. package/cjs/series/polar/progress-like/progress-like.js +16 -1
  89. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  90. package/cjs/series/polar/rose-like/rose-like.d.ts +2 -0
  91. package/cjs/series/polar/rose-like/rose-like.js +15 -1
  92. package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
  93. package/cjs/series/progress/circular/circular.js +2 -1
  94. package/cjs/series/progress/circular/circular.js.map +1 -1
  95. package/cjs/series/progress/linear/linear.js +3 -1
  96. package/cjs/series/progress/linear/linear.js.map +1 -1
  97. package/cjs/series/sankey/sankey.js +35 -33
  98. package/cjs/series/sankey/sankey.js.map +1 -1
  99. package/cjs/series/treemap/treemap.js +23 -20
  100. package/cjs/series/treemap/treemap.js.map +1 -1
  101. package/cjs/series/venn/venn.js +2 -2
  102. package/cjs/series/venn/venn.js.map +1 -1
  103. package/cjs/series/waterfall/waterfall.js +26 -20
  104. package/cjs/series/waterfall/waterfall.js.map +1 -1
  105. package/esm/chart/base/base-chart.d.ts +1 -0
  106. package/esm/chart/base/base-chart.js +9 -2
  107. package/esm/chart/base/base-chart.js.map +1 -1
  108. package/esm/chart/gauge/gauge-transformer.js +3 -2
  109. package/esm/chart/gauge/gauge-transformer.js.map +1 -1
  110. package/esm/chart/polar/polar-transformer.js +1 -1
  111. package/esm/chart/polar/polar-transformer.js.map +1 -1
  112. package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
  113. package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
  114. package/esm/chart/progress/circular/circular-progress-transformer.js +3 -2
  115. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  116. package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
  117. package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
  118. package/esm/chart/radar/radar-transformer.js +3 -2
  119. package/esm/chart/radar/radar-transformer.js.map +1 -1
  120. package/esm/chart/range-area/range-area-transformer.js +2 -2
  121. package/esm/chart/range-area/range-area-transformer.js.map +1 -1
  122. package/esm/chart/rose/rose-transformer.js +2 -1
  123. package/esm/chart/rose/rose-transformer.js.map +1 -1
  124. package/esm/component/axis/polar/band-axis.d.ts +2 -0
  125. package/esm/component/axis/polar/band-axis.js +3 -0
  126. package/esm/component/axis/polar/band-axis.js.map +1 -1
  127. package/esm/component/axis/polar/linear-axis.js +3 -0
  128. package/esm/component/axis/polar/linear-axis.js.map +1 -1
  129. package/esm/component/indicator/indicator.js +2 -2
  130. package/esm/component/indicator/indicator.js.map +1 -1
  131. package/esm/component/indicator/util.d.ts +4 -3
  132. package/esm/component/indicator/util.js +2 -2
  133. package/esm/component/indicator/util.js.map +1 -1
  134. package/esm/core/expression-function.js +1 -1
  135. package/esm/core/factory.js +1 -1
  136. package/esm/core/index.js +1 -1
  137. package/esm/data/data-view-utils.js +1 -1
  138. package/esm/data/initialize.js +1 -1
  139. package/esm/data/register.js +1 -1
  140. package/esm/data/transforms/box-plot.d.ts +4 -1
  141. package/esm/data/transforms/box-plot.js +4 -4
  142. package/esm/data/transforms/box-plot.js.map +1 -1
  143. package/esm/data/transforms/correlation-center.d.ts +11 -4
  144. package/esm/data/transforms/correlation-center.js +4 -2
  145. package/esm/data/transforms/correlation-center.js.map +1 -1
  146. package/esm/data/transforms/correlation.d.ts +18 -15
  147. package/esm/data/transforms/correlation.js +13 -8
  148. package/esm/data/transforms/correlation.js.map +1 -1
  149. package/esm/data/transforms/funnel.d.ts +10 -8
  150. package/esm/data/transforms/funnel.js +5 -3
  151. package/esm/data/transforms/funnel.js.map +1 -1
  152. package/esm/data/transforms/lookup.d.ts +3 -3
  153. package/esm/data/transforms/lookup.js +12 -6
  154. package/esm/data/transforms/lookup.js.map +1 -1
  155. package/esm/data/transforms/map.d.ts +8 -2
  156. package/esm/data/transforms/map.js +11 -6
  157. package/esm/data/transforms/map.js.map +1 -1
  158. package/esm/data/transforms/sankey.d.ts +12 -4
  159. package/esm/data/transforms/sankey.js +19 -14
  160. package/esm/data/transforms/sankey.js.map +1 -1
  161. package/esm/data/transforms/stack-split.d.ts +2 -1
  162. package/esm/data/transforms/stack-split.js +2 -2
  163. package/esm/data/transforms/stack-split.js.map +1 -1
  164. package/esm/data/transforms/treemap.d.ts +5 -3
  165. package/esm/data/transforms/treemap.js +8 -5
  166. package/esm/data/transforms/treemap.js.map +1 -1
  167. package/esm/data/transforms/venn.d.ts +4 -2
  168. package/esm/data/transforms/venn.js +5 -3
  169. package/esm/data/transforms/venn.js.map +1 -1
  170. package/esm/data/transforms/waterfall.d.ts +4 -2
  171. package/esm/data/transforms/waterfall.js +7 -8
  172. package/esm/data/transforms/waterfall.js.map +1 -1
  173. package/esm/series/base/base-series.js +2 -2
  174. package/esm/series/base/base-series.js.map +1 -1
  175. package/esm/series/box-plot/box-plot.js +2 -2
  176. package/esm/series/box-plot/box-plot.js.map +1 -1
  177. package/esm/series/correlation/correlation.js +13 -11
  178. package/esm/series/correlation/correlation.js.map +1 -1
  179. package/esm/series/dot/dot.d.ts +11 -0
  180. package/esm/series/dot/dot.js +17 -0
  181. package/esm/series/dot/dot.js.map +1 -1
  182. package/esm/series/funnel/funnel.js +5 -8
  183. package/esm/series/funnel/funnel.js.map +1 -1
  184. package/esm/series/map/map.js +3 -3
  185. package/esm/series/map/map.js.map +1 -1
  186. package/esm/series/polar/progress-like/progress-like.d.ts +2 -0
  187. package/esm/series/polar/progress-like/progress-like.js +17 -0
  188. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  189. package/esm/series/polar/rose-like/rose-like.d.ts +2 -0
  190. package/esm/series/polar/rose-like/rose-like.js +16 -0
  191. package/esm/series/polar/rose-like/rose-like.js.map +1 -1
  192. package/esm/series/progress/circular/circular.js +2 -1
  193. package/esm/series/progress/circular/circular.js.map +1 -1
  194. package/esm/series/progress/linear/linear.js +3 -1
  195. package/esm/series/progress/linear/linear.js.map +1 -1
  196. package/esm/series/sankey/sankey.js +35 -33
  197. package/esm/series/sankey/sankey.js.map +1 -1
  198. package/esm/series/treemap/treemap.js +23 -20
  199. package/esm/series/treemap/treemap.js.map +1 -1
  200. package/esm/series/venn/venn.js +2 -2
  201. package/esm/series/venn/venn.js.map +1 -1
  202. package/esm/series/waterfall/waterfall.js +26 -20
  203. package/esm/series/waterfall/waterfall.js.map +1 -1
  204. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/polar/polar-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGnD,MAAM,OAAO,yBAAqD,SAAQ,wBAA2B;IACzF,cAAc,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAES,gBAAgB,CAAC,IAAS;;QAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAqB,CAAC;QAChE,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAG,CAAC,CAAC,0CAAE,WAAW,CAAC;QACrE,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;YACvB,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAChC,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;oBAC/B,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;iBACnC;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAES,qBAAqB,CAAC,IAAS,EAAE,QAAmB;QAK5D,MAAM,MAAM,GAAQ,KAAK,CAAC,qBAAqB,CAC7C,IAAI,EACJ,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,EACpF,QAAQ,CACT,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAmB,EAAE,EAAE;gBAG5C,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;oBAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAG/B,IAAI,OAAO,CAAE,IAAY,CAAC,SAAS,CAAC,EAAE;YACnC,IAAY,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACvD;IACH,CAAC;CACF","file":"polar-transformer.js","sourcesContent":["import { array, isArray, isNil, isValid } from '@visactor/vutils';\nimport type { IDataZoomSpec, IIndicatorSpec } from '../../component';\nimport { BaseChartSpecTransformer } from '../base';\nimport type { IPolarChartSpec } from './interface';\n\nexport class PolarChartSpecTransformer<T extends IPolarChartSpec> extends BaseChartSpecTransformer<T> {\n protected _isValidSeries(type: string): boolean {\n return this.seriesType ? type === this.seriesType : true;\n }\n\n protected getIndicatorSpec(spec: any): IIndicatorSpec[] {\n const indicatorSpec = array(spec.indicator) as IIndicatorSpec[];\n const limitRatio = spec.innerRadius ?? spec.series?.[0]?.innerRadius;\n if (isValid(limitRatio)) {\n indicatorSpec.forEach(indicator => {\n if (isNil(indicator.limitRatio)) {\n indicator.limitRatio = limitRatio;\n }\n });\n }\n return indicatorSpec;\n }\n\n protected _getDefaultSeriesSpec(spec: any, pickKeys?: string[]): any {\n /**\n * 旧的radius写法, 仅做兼容\n * @deprecated use outerRadius instead\n */\n const series: any = super._getDefaultSeriesSpec(\n spec,\n ['radius', 'outerRadius', 'innerRadius', 'startAngle', 'endAngle', 'sortDataByAxis'],\n pickKeys\n );\n\n return series;\n }\n\n transformSpec(spec: T): void {\n super.transformSpec(spec);\n /** 处理极坐标系下的 datazoom */\n if (isArray(spec.dataZoom) && spec.dataZoom.length > 0) {\n spec.dataZoom.forEach((zoom: IDataZoomSpec) => {\n // 极坐标系下 datazoom 目前只支持数据过滤\n // 理想效果:角度轴不支持 axis, 径向轴均支持(通过 group.clip 自定义 clipPath 支持)\n if (zoom.filterMode === 'axis') {\n zoom.filterMode = 'filter';\n }\n });\n }\n\n this.transformSeriesSpec(spec);\n\n /* 处理 indicator 配置 */\n if (isValid((spec as any).indicator)) {\n (spec as any).indicator = this.getIndicatorSpec(spec);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/polar/polar-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGnD,MAAM,OAAO,yBAAqD,SAAQ,wBAA2B;IACzF,cAAc,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAES,gBAAgB,CAAC,IAAS;;QAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAqB,CAAC;QAChE,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAG,CAAC,CAAC,0CAAE,WAAW,CAAC;QACrE,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;YACvB,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAChC,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;oBAC/B,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;iBACnC;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAES,qBAAqB,CAAC,IAAS,EAAE,QAAmB;QAK5D,MAAM,MAAM,GAAQ,KAAK,CAAC,qBAAqB,CAC7C,IAAI,EACJ,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAC1G,QAAQ,CACT,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAmB,EAAE,EAAE;gBAG5C,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;oBAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAG/B,IAAI,OAAO,CAAE,IAAY,CAAC,SAAS,CAAC,EAAE;YACnC,IAAY,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACvD;IACH,CAAC;CACF","file":"polar-transformer.js","sourcesContent":["import { array, isArray, isNil, isValid } from '@visactor/vutils';\nimport type { IDataZoomSpec, IIndicatorSpec } from '../../component';\nimport { BaseChartSpecTransformer } from '../base';\nimport type { IPolarChartSpec } from './interface';\n\nexport class PolarChartSpecTransformer<T extends IPolarChartSpec> extends BaseChartSpecTransformer<T> {\n protected _isValidSeries(type: string): boolean {\n return this.seriesType ? type === this.seriesType : true;\n }\n\n protected getIndicatorSpec(spec: any): IIndicatorSpec[] {\n const indicatorSpec = array(spec.indicator) as IIndicatorSpec[];\n const limitRatio = spec.innerRadius ?? spec.series?.[0]?.innerRadius;\n if (isValid(limitRatio)) {\n indicatorSpec.forEach(indicator => {\n if (isNil(indicator.limitRatio)) {\n indicator.limitRatio = limitRatio;\n }\n });\n }\n return indicatorSpec;\n }\n\n protected _getDefaultSeriesSpec(spec: any, pickKeys?: string[]): any {\n /**\n * 旧的radius写法, 仅做兼容\n * @deprecated use outerRadius instead\n */\n const series: any = super._getDefaultSeriesSpec(\n spec,\n ['radius', 'outerRadius', 'innerRadius', 'startAngle', 'endAngle', 'centerX', 'centerY', 'sortDataByAxis'],\n pickKeys\n );\n\n return series;\n }\n\n transformSpec(spec: T): void {\n super.transformSpec(spec);\n /** 处理极坐标系下的 datazoom */\n if (isArray(spec.dataZoom) && spec.dataZoom.length > 0) {\n spec.dataZoom.forEach((zoom: IDataZoomSpec) => {\n // 极坐标系下 datazoom 目前只支持数据过滤\n // 理想效果:角度轴不支持 axis, 径向轴均支持(通过 group.clip 自定义 clipPath 支持)\n if (zoom.filterMode === 'axis') {\n zoom.filterMode = 'filter';\n }\n });\n }\n\n this.transformSeriesSpec(spec);\n\n /* 处理 indicator 配置 */\n if (isValid((spec as any).indicator)) {\n (spec as any).indicator = this.getIndicatorSpec(spec);\n }\n }\n}\n"]}
@@ -11,7 +11,7 @@ export class ProgressLikeChartSpecTransformer extends PolarChartSpecTransformer
11
11
  return !1;
12
12
  }
13
13
  _getDefaultSeriesSpec(spec) {
14
- const series = super._getDefaultSeriesSpec(spec, [ "startAngle", "endAngle", "centerX", "centerY" ]);
14
+ const series = super._getDefaultSeriesSpec(spec, [ "startAngle", "endAngle", "centerX", "centerY", "clamp" ]);
15
15
  return series.categoryField = spec.categoryField || spec.radiusField, series.valueField = spec.valueField || spec.angleField,
16
16
  series;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/polar/progress-like/progress-like-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,OAAO,gCAA4D,SAAQ,yBAA4B;IACjG,QAAQ;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,qBAAqB,CAAC,IAAS;QACvC,MAAM,MAAM,GAAQ,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAExG,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;QAC9D,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAEvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,0BAA0B,CAClC,IAAO,EACP,oBAAoC,EACpC,qBAAqC,EACrC,mBAA6C,EAC7C,oBAA8C;;QAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;QAED,IAAI,UAAU,GAAuB,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAChH,IAAI,SAAS,GAAyB,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QAEhH,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,oBAAoB,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,EAAE;YACf,UAAU,GAAG,qBAAqB,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5B;QAKD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACzB,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;SAC3B;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC1B,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;SAC1B;QACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SAC5B;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SAC5B;QAGD,IAAI,mBAAmB,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;SACzE;QACD,IAAI,oBAAoB,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;SAC5E;IACH,CAAC;CACF","file":"progress-like-transformer.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec, IPolarLinearAxisSpec } from '../../../component';\nimport type { IPolarChartSpec } from '../interface';\nimport { PolarChartSpecTransformer } from '../polar-transformer';\nimport { getLinearAxisSpecDomain } from '../../../component/axis/util';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class ProgressLikeChartSpecTransformer<T extends IPolarChartSpec> extends PolarChartSpecTransformer<T> {\n protected needAxes(): boolean {\n return false;\n }\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series: any = super._getDefaultSeriesSpec(spec, ['startAngle', 'endAngle', 'centerX', 'centerY']);\n\n series.categoryField = spec.categoryField || spec.radiusField;\n series.valueField = spec.valueField || spec.angleField;\n\n return series;\n }\n\n protected _transformProgressAxisSpec(\n spec: T,\n angleAxisDefaultSpec: IPolarAxisSpec,\n radiusAxisDefaultSpec: IPolarAxisSpec,\n angleAxisAppendSpec?: Partial<IPolarAxisSpec>,\n radiusAxisAppendSpec?: Partial<IPolarAxisSpec>\n ): void {\n if (!spec.axes) {\n spec.axes = [];\n }\n // 找到用户配的角度轴和半径轴\n let radiusAxis: IPolarBandAxisSpec = (spec.axes ?? []).find((axis: IPolarAxisSpec) => axis.orient === 'radius');\n let angleAxis: IPolarLinearAxisSpec = (spec.axes ?? []).find((axis: IPolarAxisSpec) => axis.orient === 'angle');\n // 如果没有找到对应的轴,则自动补充默认配置\n if (!angleAxis) {\n angleAxis = angleAxisDefaultSpec;\n spec.axes.push(angleAxis);\n }\n if (!radiusAxis) {\n radiusAxis = radiusAxisDefaultSpec;\n spec.axes.push(radiusAxis);\n }\n\n // 在以上配置的基础上,对轴 spec 进行统一修改\n\n // 自动补充缺失的配置\n if (isNil(angleAxis.type)) {\n angleAxis.type = 'linear';\n }\n if (isNil(radiusAxis.type)) {\n radiusAxis.type = 'band';\n }\n const domain = getLinearAxisSpecDomain(angleAxis, { min: 0, max: 1 });\n if (isNil(angleAxis.min)) {\n angleAxis.min = domain.min;\n }\n if (isNil(angleAxis.max)) {\n angleAxis.max = domain.max;\n }\n\n // merge 额外的配置\n if (angleAxisAppendSpec) {\n Object.assign(angleAxis, mergeSpec({}, angleAxisAppendSpec, angleAxis));\n }\n if (radiusAxisAppendSpec) {\n Object.assign(radiusAxis, mergeSpec({}, radiusAxisAppendSpec, radiusAxis));\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/polar/progress-like/progress-like-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,OAAO,gCAA4D,SAAQ,yBAA4B;IACjG,QAAQ;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,qBAAqB,CAAC,IAAS;QACvC,MAAM,MAAM,GAAQ,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjH,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;QAC9D,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAEvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,0BAA0B,CAClC,IAAO,EACP,oBAAoC,EACpC,qBAAqC,EACrC,mBAA6C,EAC7C,oBAA8C;;QAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;QAED,IAAI,UAAU,GAAuB,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAChH,IAAI,SAAS,GAAyB,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QAEhH,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,oBAAoB,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,EAAE;YACf,UAAU,GAAG,qBAAqB,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5B;QAKD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACzB,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;SAC3B;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC1B,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;SAC1B;QACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SAC5B;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SAC5B;QAGD,IAAI,mBAAmB,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;SACzE;QACD,IAAI,oBAAoB,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;SAC5E;IACH,CAAC;CACF","file":"progress-like-transformer.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec, IPolarLinearAxisSpec } from '../../../component';\nimport type { IPolarChartSpec } from '../interface';\nimport { PolarChartSpecTransformer } from '../polar-transformer';\nimport { getLinearAxisSpecDomain } from '../../../component/axis/util';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class ProgressLikeChartSpecTransformer<T extends IPolarChartSpec> extends PolarChartSpecTransformer<T> {\n protected needAxes(): boolean {\n return false;\n }\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series: any = super._getDefaultSeriesSpec(spec, ['startAngle', 'endAngle', 'centerX', 'centerY', 'clamp']);\n\n series.categoryField = spec.categoryField || spec.radiusField;\n series.valueField = spec.valueField || spec.angleField;\n\n return series;\n }\n\n protected _transformProgressAxisSpec(\n spec: T,\n angleAxisDefaultSpec: IPolarAxisSpec,\n radiusAxisDefaultSpec: IPolarAxisSpec,\n angleAxisAppendSpec?: Partial<IPolarAxisSpec>,\n radiusAxisAppendSpec?: Partial<IPolarAxisSpec>\n ): void {\n if (!spec.axes) {\n spec.axes = [];\n }\n // 找到用户配的角度轴和半径轴\n let radiusAxis: IPolarBandAxisSpec = (spec.axes ?? []).find((axis: IPolarAxisSpec) => axis.orient === 'radius');\n let angleAxis: IPolarLinearAxisSpec = (spec.axes ?? []).find((axis: IPolarAxisSpec) => axis.orient === 'angle');\n // 如果没有找到对应的轴,则自动补充默认配置\n if (!angleAxis) {\n angleAxis = angleAxisDefaultSpec;\n spec.axes.push(angleAxis);\n }\n if (!radiusAxis) {\n radiusAxis = radiusAxisDefaultSpec;\n spec.axes.push(radiusAxis);\n }\n\n // 在以上配置的基础上,对轴 spec 进行统一修改\n\n // 自动补充缺失的配置\n if (isNil(angleAxis.type)) {\n angleAxis.type = 'linear';\n }\n if (isNil(radiusAxis.type)) {\n radiusAxis.type = 'band';\n }\n const domain = getLinearAxisSpecDomain(angleAxis, { min: 0, max: 1 });\n if (isNil(angleAxis.min)) {\n angleAxis.min = domain.min;\n }\n if (isNil(angleAxis.max)) {\n angleAxis.max = domain.max;\n }\n\n // merge 额外的配置\n if (angleAxisAppendSpec) {\n Object.assign(angleAxis, mergeSpec({}, angleAxisAppendSpec, angleAxis));\n }\n if (radiusAxisAppendSpec) {\n Object.assign(radiusAxis, mergeSpec({}, radiusAxisAppendSpec, radiusAxis));\n }\n }\n}\n"]}
@@ -4,8 +4,9 @@ export class CircularProgressChartSpecTransformer extends ProgressLikeChartSpecT
4
4
  _getDefaultSeriesSpec(spec) {
5
5
  var _a, _b;
6
6
  const series = super._getDefaultSeriesSpec(spec);
7
- return this._addSeriesRelatedSpecKeys([ "cornerRadius" ]), series.progress = spec.progress,
8
- series.track = spec.track, series.tickMask = spec.tickMask, series.cornerRadius = null !== (_a = spec.cornerRadius) && void 0 !== _a ? _a : 0,
7
+ return this._addSeriesRelatedSpecKeys([ "cornerRadius", "progress", "track", "roundCap" ]),
8
+ series.progress = spec.progress, series.track = spec.track, series.tickMask = spec.tickMask,
9
+ series.cornerRadius = null !== (_a = spec.cornerRadius) && void 0 !== _a ? _a : 0,
9
10
  series.roundCap = null !== (_b = spec.roundCap) && void 0 !== _b && _b, series;
10
11
  }
11
12
  transformSpec(spec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/progress/circular/circular-progress-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAG/D,MAAM,OAAO,oCAEX,SAAQ,gCAAyD;IACvD,qBAAqB,CAAC,IAAO;;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,yBAAyB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,YAAY,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,KAAK,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAA6B;QACzC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAC7B,IAAI,EACJ;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,KAAK;SACf,EACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,KAAK;SACf,EACD;YACE,aAAa,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK;SAChE,CACF,CAAC;IACJ,CAAC;CACF","file":"circular-progress-transformer.js","sourcesContent":["import type { AdaptiveSpec } from '../../../typings';\nimport { ProgressLikeChartSpecTransformer } from '../../polar';\nimport type { ICircularProgressChartSpec } from './interface';\n\nexport class CircularProgressChartSpecTransformer<\n T extends ICircularProgressChartSpec = ICircularProgressChartSpec\n> extends ProgressLikeChartSpecTransformer<AdaptiveSpec<T, 'axes'>> {\n protected _getDefaultSeriesSpec(spec: T): any {\n const series = super._getDefaultSeriesSpec(spec);\n\n this._addSeriesRelatedSpecKeys(['cornerRadius']);\n series.progress = spec.progress;\n series.track = spec.track;\n series.tickMask = spec.tickMask;\n series.cornerRadius = spec.cornerRadius ?? 0;\n series.roundCap = spec.roundCap ?? false;\n return series;\n }\n\n transformSpec(spec: AdaptiveSpec<T, 'axes'>): void {\n super.transformSpec(spec);\n this._transformProgressAxisSpec(\n spec,\n {\n orient: 'angle',\n visible: false\n },\n {\n orient: 'radius',\n visible: false\n },\n {\n forceInitTick: spec.tickMask && spec.tickMask.visible !== false\n }\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/progress/circular/circular-progress-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAG/D,MAAM,OAAO,oCAEX,SAAQ,gCAAyD;IACvD,qBAAqB,CAAC,IAAO;;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,yBAAyB,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,YAAY,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,KAAK,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAA6B;QACzC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,0BAA0B,CAC7B,IAAI,EACJ;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,KAAK;SACf,EACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,KAAK;SACf,EACD;YACE,aAAa,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK;SAChE,CACF,CAAC;IACJ,CAAC;CACF","file":"circular-progress-transformer.js","sourcesContent":["import type { AdaptiveSpec } from '../../../typings';\nimport { ProgressLikeChartSpecTransformer } from '../../polar';\nimport type { ICircularProgressChartSpec } from './interface';\n\nexport class CircularProgressChartSpecTransformer<\n T extends ICircularProgressChartSpec = ICircularProgressChartSpec\n> extends ProgressLikeChartSpecTransformer<AdaptiveSpec<T, 'axes'>> {\n protected _getDefaultSeriesSpec(spec: T): any {\n const series = super._getDefaultSeriesSpec(spec);\n\n this._addSeriesRelatedSpecKeys(['cornerRadius', 'progress', 'track', 'roundCap']);\n series.progress = spec.progress;\n series.track = spec.track;\n series.tickMask = spec.tickMask;\n series.cornerRadius = spec.cornerRadius ?? 0;\n series.roundCap = spec.roundCap ?? false;\n return series;\n }\n\n transformSpec(spec: AdaptiveSpec<T, 'axes'>): void {\n super.transformSpec(spec);\n this._transformProgressAxisSpec(\n spec,\n {\n orient: 'angle',\n visible: false\n },\n {\n orient: 'radius',\n visible: false\n },\n {\n forceInitTick: spec.tickMask && spec.tickMask.visible !== false\n }\n );\n }\n}\n"]}
@@ -12,7 +12,7 @@ export class LinearProgressChartSpecTransformer extends CartesianChartSpecTransf
12
12
  var _a, _b;
13
13
  const series = super._getDefaultSeriesSpec(spec, [ "bandWidth", "progress", "track", "clamp" ]);
14
14
  return series.direction = null !== (_a = spec.direction) && void 0 !== _a ? _a : "horizontal",
15
- series.cornerRadius = null !== (_b = spec.cornerRadius) && void 0 !== _b ? _b : 0,
15
+ this._addSeriesRelatedSpecKeys([ "cornerRadius" ]), series.cornerRadius = null !== (_b = spec.cornerRadius) && void 0 !== _b ? _b : 0,
16
16
  series;
17
17
  }
18
18
  transformSpec(spec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/progress/linear/linear-progress-transformer.ts"],"names":[],"mappings":"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","file":"linear-progress-transformer.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { ICartesianAxisSpec, ICartesianBandAxisSpec, ICartesianLinearAxisSpec } from '../../../component';\nimport { CartesianChartSpecTransformer } from '../../cartesian';\nimport type { ILinearProgressChartSpec } from './interface';\nimport { getLinearAxisSpecDomain } from '../../../component/axis/util';\n\nexport class LinearProgressChartSpecTransformer<\n T extends ILinearProgressChartSpec = ILinearProgressChartSpec\n> extends CartesianChartSpecTransformer<T> {\n protected needAxes(): boolean {\n return false;\n }\n\n protected _getDefaultSeriesSpec(spec: T): ILinearProgressChartSpec {\n const series = super._getDefaultSeriesSpec(spec, ['bandWidth', 'progress', 'track', 'clamp']);\n series.direction = spec.direction ?? 'horizontal';\n\n series.cornerRadius = spec.cornerRadius ?? 0;\n return series;\n }\n\n transformSpec(spec: T): void {\n super.transformSpec(spec);\n\n if (!spec.axes) {\n spec.axes = [];\n }\n\n if (spec.direction === 'vertical') {\n let leftAxis: ICartesianLinearAxisSpec = null;\n let bottomAxis: ICartesianBandAxisSpec = null;\n (spec.axes ?? []).forEach((axis: ICartesianAxisSpec) => {\n const { orient } = axis;\n if (orient === 'left') {\n leftAxis = axis;\n }\n if (orient === 'bottom') {\n bottomAxis = axis;\n }\n });\n if (!leftAxis) {\n leftAxis = {\n orient: 'left',\n visible: false\n };\n spec.axes.push(leftAxis);\n }\n if (!bottomAxis) {\n bottomAxis = {\n orient: 'bottom',\n visible: false\n };\n spec.axes.push(bottomAxis);\n }\n\n // 自动补全轴类型类型和range\n if (isNil(bottomAxis.type)) {\n bottomAxis.type = 'band';\n }\n if (isNil(leftAxis.type)) {\n leftAxis.type = 'linear';\n }\n const domain = getLinearAxisSpecDomain(leftAxis, { min: 0, max: 1 });\n if (isNil(leftAxis.min)) {\n leftAxis.min = domain.min;\n }\n if (isNil(leftAxis.max)) {\n leftAxis.max = domain.max;\n }\n } else {\n let leftAxis: ICartesianBandAxisSpec = null;\n let bottomAxis: ICartesianLinearAxisSpec = null;\n (spec.axes ?? []).forEach((axis: ICartesianAxisSpec) => {\n const { orient } = axis;\n if (orient === 'left') {\n leftAxis = axis;\n }\n if (orient === 'bottom') {\n bottomAxis = axis;\n }\n });\n if (!leftAxis) {\n leftAxis = {\n type: 'band',\n orient: 'left',\n visible: false\n };\n spec.axes.push(leftAxis);\n }\n if (!bottomAxis) {\n bottomAxis = {\n orient: 'bottom',\n visible: false\n };\n spec.axes.push(bottomAxis);\n }\n\n // 自动补全轴类型类型和range\n if (isNil(bottomAxis.type)) {\n bottomAxis.type = 'linear';\n }\n if (isNil(leftAxis.type)) {\n leftAxis.type = 'band';\n }\n const domain = getLinearAxisSpecDomain(bottomAxis, { min: 0, max: 1 });\n if (isNil(bottomAxis.min)) {\n bottomAxis.min = domain.min;\n }\n if (isNil(bottomAxis.max)) {\n bottomAxis.max = domain.max;\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/progress/linear/linear-progress-transformer.ts"],"names":[],"mappings":"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","file":"linear-progress-transformer.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { ICartesianAxisSpec, ICartesianBandAxisSpec, ICartesianLinearAxisSpec } from '../../../component';\nimport { CartesianChartSpecTransformer } from '../../cartesian';\nimport type { ILinearProgressChartSpec } from './interface';\nimport { getLinearAxisSpecDomain } from '../../../component/axis/util';\n\nexport class LinearProgressChartSpecTransformer<\n T extends ILinearProgressChartSpec = ILinearProgressChartSpec\n> extends CartesianChartSpecTransformer<T> {\n protected needAxes(): boolean {\n return false;\n }\n\n protected _getDefaultSeriesSpec(spec: T): ILinearProgressChartSpec {\n const series = super._getDefaultSeriesSpec(spec, ['bandWidth', 'progress', 'track', 'clamp']);\n series.direction = spec.direction ?? 'horizontal';\n\n this._addSeriesRelatedSpecKeys(['cornerRadius']);\n series.cornerRadius = spec.cornerRadius ?? 0;\n return series;\n }\n\n transformSpec(spec: T): void {\n super.transformSpec(spec);\n\n if (!spec.axes) {\n spec.axes = [];\n }\n\n if (spec.direction === 'vertical') {\n let leftAxis: ICartesianLinearAxisSpec = null;\n let bottomAxis: ICartesianBandAxisSpec = null;\n (spec.axes ?? []).forEach((axis: ICartesianAxisSpec) => {\n const { orient } = axis;\n if (orient === 'left') {\n leftAxis = axis;\n }\n if (orient === 'bottom') {\n bottomAxis = axis;\n }\n });\n if (!leftAxis) {\n leftAxis = {\n orient: 'left',\n visible: false\n };\n spec.axes.push(leftAxis);\n }\n if (!bottomAxis) {\n bottomAxis = {\n orient: 'bottom',\n visible: false\n };\n spec.axes.push(bottomAxis);\n }\n\n // 自动补全轴类型类型和range\n if (isNil(bottomAxis.type)) {\n bottomAxis.type = 'band';\n }\n if (isNil(leftAxis.type)) {\n leftAxis.type = 'linear';\n }\n const domain = getLinearAxisSpecDomain(leftAxis, { min: 0, max: 1 });\n if (isNil(leftAxis.min)) {\n leftAxis.min = domain.min;\n }\n if (isNil(leftAxis.max)) {\n leftAxis.max = domain.max;\n }\n } else {\n let leftAxis: ICartesianBandAxisSpec = null;\n let bottomAxis: ICartesianLinearAxisSpec = null;\n (spec.axes ?? []).forEach((axis: ICartesianAxisSpec) => {\n const { orient } = axis;\n if (orient === 'left') {\n leftAxis = axis;\n }\n if (orient === 'bottom') {\n bottomAxis = axis;\n }\n });\n if (!leftAxis) {\n leftAxis = {\n type: 'band',\n orient: 'left',\n visible: false\n };\n spec.axes.push(leftAxis);\n }\n if (!bottomAxis) {\n bottomAxis = {\n orient: 'bottom',\n visible: false\n };\n spec.axes.push(bottomAxis);\n }\n\n // 自动补全轴类型类型和range\n if (isNil(bottomAxis.type)) {\n bottomAxis.type = 'linear';\n }\n if (isNil(leftAxis.type)) {\n leftAxis.type = 'band';\n }\n const domain = getLinearAxisSpecDomain(bottomAxis, { min: 0, max: 1 });\n if (isNil(bottomAxis.min)) {\n bottomAxis.min = domain.min;\n }\n if (isNil(bottomAxis.max)) {\n bottomAxis.max = domain.max;\n }\n }\n }\n}\n"]}
@@ -8,8 +8,9 @@ export class RadarChartSpecTransformer extends RoseLikeChartSpecTransformer {
8
8
  _getDefaultSeriesSpec(spec) {
9
9
  var _a, _b, _c, _d;
10
10
  const series = super._getDefaultSeriesSpec(spec), areaTheme = null === (_b = (_a = this._option).getTheme) || void 0 === _b ? void 0 : _b.call(_a, "series", "radar", "area");
11
- return series.line = spec.line, series.point = spec.point, series.stack = spec.stack,
12
- series.percent = spec.percent, series.area = mergeSpec({
11
+ return this._addSeriesRelatedSpecKeys([ "line", "point", "area" ]), series.line = spec.line,
12
+ series.point = spec.point, series.stack = spec.stack, series.percent = spec.percent,
13
+ series.area = mergeSpec({
13
14
  visible: null !== (_c = null == areaTheme ? void 0 : areaTheme.visible) && void 0 !== _c && _c
14
15
  }, spec.area), series.seriesMark = null !== (_d = spec.seriesMark) && void 0 !== _d ? _d : "area",
15
16
  series.activePoint = spec.activePoint, series.pointDis = spec.pointDis, series.pointDisMul = spec.pointDisMul,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/radar/radar-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,OAAO,yBAEX,SAAQ,4BAA+B;IAC7B,qBAAqB,CAAC,IAAS;;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,QAAQ,mDAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,SAAS,CACrB;YACE,OAAO,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,mCAAI,KAAK;SACrC,EACD,IAAI,CAAC,IAAI,CACV,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,MAAM,CAAC;QAC9C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC5B,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;qBACvC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACd,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iBAC/B;aACF;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC9D,OAAO,SAAS,CACd;gBACE,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,EACD,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF","file":"radar-transformer.js","sourcesContent":["import { array } from '../../util';\nimport { RoseLikeChartSpecTransformer } from '../polar';\nimport type { IRoseChartSpec } from '../rose';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class RadarChartSpecTransformer<\n T extends IRoseChartSpec = IRoseChartSpec\n> extends RoseLikeChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: any): any {\n const series = super._getDefaultSeriesSpec(spec);\n const areaTheme = this._option.getTheme?.('series', 'radar', 'area');\n series.line = spec.line;\n series.point = spec.point;\n series.stack = spec.stack;\n series.percent = spec.percent;\n series.area = mergeSpec(\n {\n visible: areaTheme?.visible ?? false\n },\n spec.area\n );\n series.seriesMark = spec.seriesMark ?? 'area';\n series.activePoint = spec.activePoint;\n series.pointDis = spec.pointDis;\n series.pointDisMul = spec.pointDisMul;\n series.markOverlap = spec.markOverlap;\n return series;\n }\n\n transformSpec(spec: T) {\n super.transformSpec(spec);\n //默认不显示轴的domainLine和Tick\n (spec.axes ?? []).forEach((axis: any) => {\n if (axis.orient === 'radius') {\n ['domainLine', 'label', 'tick'].forEach(configName => {\n if (!axis[configName]) {\n axis[configName] = { visible: false };\n }\n });\n if (!axis.grid) {\n axis.grid = { visible: true };\n }\n }\n });\n\n // set default config for crosshair\n spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {\n return mergeSpec(\n {\n categoryField: {\n visible: true,\n line: {\n visible: true,\n type: 'line'\n }\n }\n },\n crosshairCfg\n );\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/radar/radar-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,OAAO,yBAEX,SAAQ,4BAA+B;IAC7B,qBAAqB,CAAC,IAAS;;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,QAAQ,mDAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,SAAS,CACrB;YACE,OAAO,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,mCAAI,KAAK;SACrC,EACD,IAAI,CAAC,IAAI,CACV,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,MAAM,CAAC;QAC9C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC5B,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;qBACvC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACd,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iBAC/B;aACF;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC9D,OAAO,SAAS,CACd;gBACE,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,EACD,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF","file":"radar-transformer.js","sourcesContent":["import { array } from '../../util';\nimport { RoseLikeChartSpecTransformer } from '../polar';\nimport type { IRoseChartSpec } from '../rose';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class RadarChartSpecTransformer<\n T extends IRoseChartSpec = IRoseChartSpec\n> extends RoseLikeChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: any): any {\n const series = super._getDefaultSeriesSpec(spec);\n const areaTheme = this._option.getTheme?.('series', 'radar', 'area');\n this._addSeriesRelatedSpecKeys(['line', 'point', 'area']);\n series.line = spec.line;\n series.point = spec.point;\n series.stack = spec.stack;\n series.percent = spec.percent;\n series.area = mergeSpec(\n {\n visible: areaTheme?.visible ?? false\n },\n spec.area\n );\n series.seriesMark = spec.seriesMark ?? 'area';\n series.activePoint = spec.activePoint;\n series.pointDis = spec.pointDis;\n series.pointDisMul = spec.pointDisMul;\n series.markOverlap = spec.markOverlap;\n return series;\n }\n\n transformSpec(spec: T) {\n super.transformSpec(spec);\n //默认不显示轴的domainLine和Tick\n (spec.axes ?? []).forEach((axis: any) => {\n if (axis.orient === 'radius') {\n ['domainLine', 'label', 'tick'].forEach(configName => {\n if (!axis[configName]) {\n axis[configName] = { visible: false };\n }\n });\n if (!axis.grid) {\n axis.grid = { visible: true };\n }\n }\n });\n\n // set default config for crosshair\n spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {\n return mergeSpec(\n {\n categoryField: {\n visible: true,\n line: {\n visible: true,\n type: 'line'\n }\n }\n },\n crosshairCfg\n );\n });\n }\n}\n"]}
@@ -6,8 +6,8 @@ export class RangeAreaChartSpecTransformer extends CartesianChartSpecTransformer
6
6
  _getDefaultSeriesSpec(spec) {
7
7
  var _a, _b;
8
8
  const series = super._getDefaultSeriesSpec(spec);
9
- return series.area = spec.area, series.point = spec.point, series.line = spec.line,
10
- "horizontal" === spec.direction ? series.xField = null !== (_a = spec.xField) && void 0 !== _a ? _a : [ spec.minField, spec.maxField ] : series.yField = null !== (_b = spec.yField) && void 0 !== _b ? _b : [ spec.minField, spec.maxField ],
9
+ return this._addSeriesRelatedSpecKeys([ "area", "point", "line" ]), series.area = spec.area,
10
+ series.point = spec.point, series.line = spec.line, "horizontal" === spec.direction ? series.xField = null !== (_a = spec.xField) && void 0 !== _a ? _a : [ spec.minField, spec.maxField ] : series.yField = null !== (_b = spec.yField) && void 0 !== _b ? _b : [ spec.minField, spec.maxField ],
11
11
  series.stack = !1, series;
12
12
  }
13
13
  transformSpec(spec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/range-area/range-area-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAG/D,MAAM,OAAO,6BAEX,SAAQ,6BAAgC;IAC9B,qBAAqB,CAAC,IAAO;;QACrC,MAAM,MAAM,GAAQ,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,iBAAyB,EAAE;YAC3C,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF","file":"range-area-transformer.js","sourcesContent":["import { Direction } from '../../typings';\nimport { CartesianChartSpecTransformer } from '../cartesian';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport type { IRangeAreaChartSpec } from './interface';\n\nexport class RangeAreaChartSpecTransformer<\n T extends IRangeAreaChartSpec = IRangeAreaChartSpec\n> extends CartesianChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: T): any {\n const series: any = super._getDefaultSeriesSpec(spec);\n series.area = spec.area;\n series.point = spec.point;\n series.line = spec.line;\n if (spec.direction === Direction.horizontal) {\n series.xField = spec.xField ?? [spec.minField, spec.maxField];\n } else {\n series.yField = spec.yField ?? [spec.minField, spec.maxField];\n }\n series.stack = false;\n return series;\n }\n\n transformSpec(spec: T): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/range-area/range-area-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAG/D,MAAM,OAAO,6BAEX,SAAQ,6BAAgC;IAC9B,qBAAqB,CAAC,IAAO;;QACrC,MAAM,MAAM,GAAQ,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,iBAAyB,EAAE;YAC3C,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF","file":"range-area-transformer.js","sourcesContent":["import { Direction } from '../../typings';\nimport { CartesianChartSpecTransformer } from '../cartesian';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport type { IRangeAreaChartSpec } from './interface';\n\nexport class RangeAreaChartSpecTransformer<\n T extends IRangeAreaChartSpec = IRangeAreaChartSpec\n> extends CartesianChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: T): any {\n const series: any = super._getDefaultSeriesSpec(spec);\n this._addSeriesRelatedSpecKeys(['area', 'point', 'line']);\n series.area = spec.area;\n series.point = spec.point;\n series.line = spec.line;\n if (spec.direction === Direction.horizontal) {\n series.xField = spec.xField ?? [spec.minField, spec.maxField];\n } else {\n series.yField = spec.yField ?? [spec.minField, spec.maxField];\n }\n series.stack = false;\n return series;\n }\n\n transformSpec(spec: T): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n"]}
@@ -10,7 +10,8 @@ export class RoseChartSpecTransformer extends RoseLikeChartSpecTransformer {
10
10
  _getDefaultSeriesSpec(spec) {
11
11
  var _a, _b, _c;
12
12
  const series = super._getDefaultSeriesSpec(spec);
13
- return series.radius = null !== (_a = spec.radius) && void 0 !== _a ? _a : POLAR_DEFAULT_RADIUS,
13
+ return this._addSeriesRelatedSpecKeys([ "radius", "outerRadius", "innerRadius" ]),
14
+ series.radius = null !== (_a = spec.radius) && void 0 !== _a ? _a : POLAR_DEFAULT_RADIUS,
14
15
  series.outerRadius = null !== (_b = spec.outerRadius) && void 0 !== _b ? _b : POLAR_DEFAULT_RADIUS,
15
16
  series.innerRadius = null !== (_c = spec.innerRadius) && void 0 !== _c ? _c : 0,
16
17
  series.stack = spec.stack, series.percent = spec.percent, series;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/rose/rose-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,OAAO,wBAEX,SAAQ,4BAA+B;IAC7B,qBAAqB,CAAC,IAAO;;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,oBAAoB,CAAC;QACpD,MAAM,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,oBAAoB,CAAC;QAC9D,MAAM,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAoB,EAAE,EAAE;YACjD,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAE,IAA2B,CAAC,YAAY,CAAC,EAAE;gBAE9E,IAA2B,CAAC,YAAY,GAAG,GAAG,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC9D,OAAO,SAAS,CACd;gBACE,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,EACD,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF","file":"rose-transformer.js","sourcesContent":["import { array, isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec } from '../../component';\nimport { POLAR_DEFAULT_RADIUS } from '../../constant/polar';\nimport { RoseLikeChartSpecTransformer } from '../polar';\nimport type { IRoseChartSpec } from './interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class RoseChartSpecTransformer<\n T extends IRoseChartSpec = IRoseChartSpec\n> extends RoseLikeChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: T): any {\n const series = super._getDefaultSeriesSpec(spec);\n series.radius = spec.radius ?? POLAR_DEFAULT_RADIUS;\n series.outerRadius = spec.outerRadius ?? POLAR_DEFAULT_RADIUS;\n series.innerRadius = spec.innerRadius ?? 0;\n\n series.stack = spec.stack;\n series.percent = spec.percent;\n return series;\n }\n\n transformSpec(spec: T) {\n super.transformSpec(spec);\n //默认不显示轴\n (spec.axes ?? []).forEach((axis: IPolarAxisSpec) => {\n ['domainLine', 'grid', 'label', 'tick'].forEach(configName => {\n if (!axis[configName]) {\n axis[configName] = { visible: false };\n }\n });\n if (axis.orient === 'angle' && isNil((axis as IPolarBandAxisSpec).bandPosition)) {\n // 玫瑰图的中心点应该是带宽的中心,保证第一个扇形是从坐标系的 startAngle 开始的\n (axis as IPolarBandAxisSpec).bandPosition = 0.5;\n }\n });\n\n // set default config for crosshair\n spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {\n return mergeSpec(\n {\n categoryField: {\n visible: true,\n line: {\n visible: true,\n type: 'rect'\n }\n }\n },\n crosshairCfg\n );\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/rose/rose-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,OAAO,wBAEX,SAAQ,4BAA+B;IAC7B,qBAAqB,CAAC,IAAO;;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,oBAAoB,CAAC;QACpD,MAAM,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,oBAAoB,CAAC;QAC9D,MAAM,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAO;;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAoB,EAAE,EAAE;YACjD,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAE,IAA2B,CAAC,YAAY,CAAC,EAAE;gBAE9E,IAA2B,CAAC,YAAY,GAAG,GAAG,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC9D,OAAO,SAAS,CACd;gBACE,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,EACD,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF","file":"rose-transformer.js","sourcesContent":["import { array, isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec } from '../../component';\nimport { POLAR_DEFAULT_RADIUS } from '../../constant/polar';\nimport { RoseLikeChartSpecTransformer } from '../polar';\nimport type { IRoseChartSpec } from './interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class RoseChartSpecTransformer<\n T extends IRoseChartSpec = IRoseChartSpec\n> extends RoseLikeChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: T): any {\n const series = super._getDefaultSeriesSpec(spec);\n this._addSeriesRelatedSpecKeys(['radius', 'outerRadius', 'innerRadius']);\n series.radius = spec.radius ?? POLAR_DEFAULT_RADIUS;\n series.outerRadius = spec.outerRadius ?? POLAR_DEFAULT_RADIUS;\n series.innerRadius = spec.innerRadius ?? 0;\n\n series.stack = spec.stack;\n series.percent = spec.percent;\n return series;\n }\n\n transformSpec(spec: T) {\n super.transformSpec(spec);\n //默认不显示轴\n (spec.axes ?? []).forEach((axis: IPolarAxisSpec) => {\n ['domainLine', 'grid', 'label', 'tick'].forEach(configName => {\n if (!axis[configName]) {\n axis[configName] = { visible: false };\n }\n });\n if (axis.orient === 'angle' && isNil((axis as IPolarBandAxisSpec).bandPosition)) {\n // 玫瑰图的中心点应该是带宽的中心,保证第一个扇形是从坐标系的 startAngle 开始的\n (axis as IPolarBandAxisSpec).bandPosition = 0.5;\n }\n });\n\n // set default config for crosshair\n spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {\n return mergeSpec(\n {\n categoryField: {\n visible: true,\n line: {\n visible: true,\n type: 'rect'\n }\n }\n },\n crosshairCfg\n );\n });\n }\n}\n"]}
@@ -18,6 +18,7 @@ export declare class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxis
18
18
  };
19
19
  protected _scale: BandScale;
20
20
  protected _scales: BandScale[];
21
+ protected _updateData: () => void;
21
22
  protected computeDomain(data: {
22
23
  min: number;
23
24
  max: number;
@@ -37,6 +38,7 @@ export declare class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxis
37
38
  getSpec: () => T;
38
39
  };
39
40
  protected initScales(): void;
41
+ reInit(spec?: T): void;
40
42
  protected registerTicksTransform(): string;
41
43
  transformScaleDomain(): void;
42
44
  }
@@ -44,6 +44,9 @@ export class PolarBandAxis extends PolarAxis {
44
44
  initScales() {
45
45
  super.initScales(), this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);
46
46
  }
47
+ reInit(spec) {
48
+ super.reInit(spec), this._updateData();
49
+ }
47
50
  registerTicksTransform() {
48
51
  const name = `${this.type}-ticks`;
49
52
  return registerDataSetInstanceTransform(this._option.dataSet, name, polarAngleAxisDiscreteTicks),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":"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","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport type { IPolarBandAxisSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport {\n CircleAxis,\n CircleAxisGrid,\n LineAxis,\n LineAxisGrid,\n polarAngleAxisDiscreteTicks\n} from '@visactor/vrender-components';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisBand } from '../../../theme/builtin/common/component/axis/band-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarBandAxis;\n type = ComponentTypeEnum.polarBandAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisBand,\n axisAngle,\n axisRadius\n };\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n updateScaleRange() {\n const isChanged = super.updateScaleRange();\n this.updateGroupScaleRange();\n\n return isChanged;\n }\n\n // axisHelper\n protected axisHelper() {\n const helper = super.axisHelper();\n const getBandwidth = (depth: number) => {\n return (helper.getScale(depth) as BandScale).bandwidth();\n };\n\n return { ...helper, getBandwidth };\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, polarAngleAxisDiscreteTicks);\n return name;\n }\n transformScaleDomain() {\n // do nothing\n }\n}\nmixin(PolarBandAxis, BandAxisMixin);\n\nexport const registerPolarBandAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarBandAxis.type, PolarBandAxis);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,2BAA2B,EAC5B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,0DAA0D,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,wDAAwD,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAShG,MAAM,OAAO,aAAiE,SAAQ,SAAY;IAAlG;;QAEE,SAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC;QAU7B,WAAM,GAAc,IAAI,SAAS,EAAE,CAAC;IA6ChD,CAAC;IAxCW,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACd,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAGS,UAAU;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;YACrC,OAAQ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAe,CAAC,SAAS,EAAE,CAAC;QAC3D,CAAC,CAAC;QAEF,uCAAY,MAAM,KAAE,YAAY,IAAG;IACrC,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,IAAQ;QACb,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,sBAAsB;QAC9B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,QAAQ,CAAC;QAClC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oBAAoB;IAEpB,CAAC;;AAvDM,kBAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAGvC,qBAAO,GAAG,MAAM,CAAC;AACR,0BAAY,GAAG;IAC7B,IAAI,EAAE,UAAU;IAChB,QAAQ;IACR,SAAS;IACT,UAAU;CACX,CAAC;AAgDJ,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACnG,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACvG,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACrG,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAU,EAAE,OAAgC,EAAE,EAAE;QACzG,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAsB,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,YAAY,EAAE,CAAC;IACf,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC/D,CAAC,CAAC","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport type { IPolarBandAxisSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport {\n CircleAxis,\n CircleAxisGrid,\n LineAxis,\n LineAxisGrid,\n polarAngleAxisDiscreteTicks\n} from '@visactor/vrender-components';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisBand } from '../../../theme/builtin/common/component/axis/band-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarBandAxis;\n type = ComponentTypeEnum.polarBandAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisBand,\n axisAngle,\n axisRadius\n };\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n protected declare _updateData: () => void;\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n updateScaleRange() {\n const isChanged = super.updateScaleRange();\n this.updateGroupScaleRange();\n\n return isChanged;\n }\n\n // axisHelper\n protected axisHelper() {\n const helper = super.axisHelper();\n const getBandwidth = (depth: number) => {\n return (helper.getScale(depth) as BandScale).bandwidth();\n };\n\n return { ...helper, getBandwidth };\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);\n }\n\n reInit(spec?: T): void {\n super.reInit(spec);\n\n this._updateData();\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, polarAngleAxisDiscreteTicks);\n return name;\n }\n transformScaleDomain() {\n // do nothing\n }\n}\nmixin(PolarBandAxis, BandAxisMixin);\n\nexport const registerPolarBandAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarBandAxis.type, PolarBandAxis);\n};\n"]}
@@ -30,7 +30,10 @@ export class PolarLinearAxis extends PolarAxis {
30
30
  this._nice = !0, this._extend = {}, this._scale = new LinearScale;
31
31
  }
32
32
  setAttrFromSpec() {
33
+ var _a, _b;
33
34
  super.setAttrFromSpec(), this.setExtraAttrFromSpec();
35
+ const tickTransform = null === (_b = null === (_a = this._tickData) || void 0 === _a ? void 0 : _a[0]) || void 0 === _b ? void 0 : _b.getDataView().transformsArr.find((t => t.type === this.registerTicksTransform()));
36
+ tickTransform && (tickTransform.options = this._tickTransformOption());
34
37
  }
35
38
  initScales() {
36
39
  super.initScales(), this.setScaleNice();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":"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","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport type { IPolarAxisHelper } from './interface';\nimport { CircleAxis, CircleAxisGrid, continuousTicks, LineAxis, LineAxisGrid } from '@visactor/vrender-components';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { axisLinear } from '../../../theme/builtin/common/component/axis/linear-axis';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'transformScaleDomain'\n | 'valueToPosition'\n | 'computeLinearDomain'\n | 'setScaleNice'\n | 'setExtendDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisLinear,\n axisAngle,\n axisRadius\n };\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n protected initScales() {\n super.initScales();\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: IPolarAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n return helper as any;\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks);\n\n return name;\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n\nexport const registerPolarLinearAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarLinearAxis.type, PolarLinearAxis);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":"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","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport type { IPolarAxisHelper } from './interface';\nimport { CircleAxis, CircleAxisGrid, continuousTicks, LineAxis, LineAxisGrid } from '@visactor/vrender-components';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { VRenderComponentOptions } from '../../../core/interface';\nimport { GridEnum, AxisEnum } from '../interface';\nimport { axisLinear } from '../../../theme/builtin/common/component/axis/linear-axis';\nimport { commonAxis } from '../../../theme/builtin/common/component/axis/common-axis';\nimport { axisAngle, axisRadius } from '../../../theme/builtin/common/component/axis/polar-axis';\n\nexport interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'transformScaleDomain'\n | 'valueToPosition'\n | 'computeLinearDomain'\n | 'setScaleNice'\n | 'setExtendDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n static specKey = 'axes';\n static readonly builtInTheme = {\n axis: commonAxis,\n axisLinear,\n axisAngle,\n axisRadius\n };\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n const tickTransform = this._tickData?.[0]\n ?.getDataView()\n .transformsArr.find(t => t.type === this.registerTicksTransform());\n tickTransform && (tickTransform.options = this._tickTransformOption());\n }\n\n protected initScales() {\n super.initScales();\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: IPolarAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n return helper as any;\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks);\n\n return name;\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n\nexport const registerPolarLinearAxis = () => {\n Factory.registerGraphicComponent(AxisEnum.lineAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.lineAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new LineAxisGrid(attrs, options) as unknown as IGroup;\n });\n\n Factory.registerGraphicComponent(AxisEnum.circleAxis, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxis(attrs, options) as unknown as IGroup;\n });\n Factory.registerGraphicComponent(GridEnum.circleAxisGrid, (attrs: any, options: VRenderComponentOptions) => {\n return new CircleAxisGrid(attrs, options) as unknown as IGroup;\n });\n registerAxis();\n Factory.registerComponent(PolarLinearAxis.type, PolarLinearAxis);\n};\n"]}
@@ -91,11 +91,11 @@ export class Indicator extends BaseComponent {
91
91
  });
92
92
  displayData.transform({
93
93
  type: "indicatorFilter",
94
- options: {
94
+ options: () => ({
95
95
  title: this._title,
96
96
  content: this._content,
97
97
  datum: () => this._activeDatum
98
- }
98
+ })
99
99
  }), displayData.target.addListener("change", this.updateDatum.bind(this)), this._displayData = new CompilableData(this._option, displayData);
100
100
  }
101
101
  updateLayoutAttribute() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/indicator/indicator.ts"],"names":[],"mappings":"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","file":"indicator.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport type { IRegion } from '../../region/interface';\nimport type { IIndicator, IIndicatorItemSpec, IIndicatorSpec } from './interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { transformIndicatorStyle } from '../../util/style';\nimport { getActualNumValue } from '../../util/space';\nimport { isEqual, isValid, isFunction, array, pickWithout } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { Indicator as IndicatorComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IndicatorAttributes } from '@visactor/vrender-components';\nimport type { IGraphic, INode, IGroup } from '@visactor/vrender-core';\nimport type { FunctionType } from '../../typings/visual';\nimport { Factory } from '../../core/factory';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRichTextCharacter } from '@visactor/vrender-core';\nimport { getSpecInfo } from '../util';\nimport { getDatumOfGraphic } from '../../util/mark';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport { indicator } from '../../theme/builtin/common/component/indicator';\n\nexport class Indicator<T extends IIndicatorSpec> extends BaseComponent<T> implements IIndicator {\n static type = ComponentTypeEnum.indicator;\n type = ComponentTypeEnum.indicator;\n name: string = ComponentTypeEnum.indicator;\n\n static readonly builtInTheme = {\n indicator\n };\n static specKey = 'indicator';\n specKey = 'indicator';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.Indicator;\n layoutLevel: number = LayoutLevel.Indicator;\n\n private _gap: number = 0;\n\n private _activeDatum: any = null;\n private _displayData!: CompilableData;\n\n private _title: IIndicatorItemSpec;\n private _content: IIndicatorItemSpec[];\n\n private _indicatorComponent: IndicatorComponents;\n private _cacheAttrs: IndicatorAttributes;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IIndicatorSpec>(chartSpec, this.specKey, this.type, (s: IIndicatorSpec) => {\n return s && s.visible !== false;\n });\n }\n\n created() {\n super.created();\n // data\n this.initData();\n // event\n this.initEvent();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._gap = this._spec.gap || 0;\n this._title = this._spec.title;\n this._content = array(this._spec.content);\n this._regions = this._option.getRegionsInUserIdOrIndex(array(this._spec.regionId), array(this._spec.regionIndex));\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n const specChanged = !isEqual(prevSpec, spec);\n\n if (specChanged && !result.reMake && !result.reCompile) {\n result.change = true;\n result.reRender = true;\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n }\n\n return result;\n }\n\n // event\n protected initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n this.event.on('element-highlight:start', (params: any) => {\n const g = params.graphics[0];\n\n if (this.isRelativeModel(g)) {\n this.updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-highlight:reset', (params: any) => {\n if (this._activeDatum) {\n this.updateDatum(null);\n }\n });\n } else {\n this.event.on('element-select:start', (params: any) => {\n const g = params.graphics[0];\n\n if (this.isRelativeModel(g)) {\n this.updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-select:reset', (params: any) => {\n if (this._activeDatum) {\n this.updateDatum(null);\n }\n });\n }\n }\n\n updateDatum(datum: any) {\n this._activeDatum = datum;\n this._displayData.updateData();\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n }\n\n // data\n private initData() {\n registerDataSetInstanceTransform(this._option.dataSet, 'indicatorFilter', indicatorMapper);\n const displayData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n displayData.transform({\n type: 'indicatorFilter',\n options: {\n title: this._title,\n content: this._content,\n datum: () => this._activeDatum\n }\n });\n\n displayData.target.addListener('change', this.updateDatum.bind(this));\n\n this._displayData = new CompilableData(this._option, displayData);\n }\n\n updateLayoutAttribute(): void {\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getIndicatorAttrs() {\n if (this._spec.visible === false || (this._spec.fixed === false && this._activeDatum === null)) {\n return {\n visible: false\n } as IndicatorAttributes;\n }\n\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n const { x, y } = region.getLayoutStartPoint();\n const { content, offsetX, offsetY, limitRatio, title, ...restSpec } = this._spec;\n\n const contentComponentSpec: IIndicatorItemSpec[] = [];\n array(content).forEach((eachItem: IIndicatorItemSpec) => {\n const contentSpec = mergeSpec({}, this._theme.content, eachItem);\n contentComponentSpec.push({\n visible: contentSpec.visible !== false && (contentSpec.field ? this._activeDatum !== null : true),\n space: contentSpec.space || this._gap,\n autoLimit: contentSpec.autoLimit,\n autoFit: contentSpec.autoFit,\n fitPercent: contentSpec.fitPercent,\n fitStrategy: contentSpec.fitStrategy,\n style: {\n ...transformIndicatorStyle(pickWithout(contentSpec.style, ['text']), this._activeDatum),\n text: this._createText(contentSpec.field, contentSpec.style.text)\n }\n });\n });\n\n return {\n visible: true,\n size: {\n width: width,\n height: height\n },\n zIndex: this.layoutZIndex,\n x: x,\n y: y,\n dx: offsetX ? getActualNumValue(offsetX, this._computeLayoutRadius()) : 0,\n dy: offsetY ? getActualNumValue(offsetY, this._computeLayoutRadius()) : 0,\n limitRatio: limitRatio || Infinity,\n title: {\n visible: title.visible !== false && (!isValid(title.field) || this._activeDatum !== null),\n space: title.space || this._gap,\n autoLimit: title.autoLimit,\n autoFit: title.autoFit,\n fitPercent: title.fitPercent,\n fitStrategy: title.fitStrategy,\n style: {\n ...transformIndicatorStyle(pickWithout(title.style, ['text']), this._activeDatum),\n text: this._createText(title.field, title.style.text as any) // FIXME: type\n }\n },\n content: contentComponentSpec,\n ...(restSpec as unknown as IndicatorAttributes)\n } as IndicatorAttributes;\n }\n\n private _createOrUpdateIndicatorComponent(attrs: IndicatorAttributes) {\n if (attrs.visible === false) {\n // 按照vrender-component 的设置,只切换visible: false,并不会更新组件,所以强制删掉节点\n if (this._indicatorComponent && this._indicatorComponent.parent) {\n this._indicatorComponent.parent.removeChild(this._indicatorComponent);\n }\n this._indicatorComponent = null;\n return;\n }\n\n if (this._indicatorComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._indicatorComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n //FIXME:类型“IndicatorAttributes”的参数不能赋给类型“Required<IndicatorAttributes>”的参数\n const indicator = new IndicatorComponents(attrs as any);\n indicator.name = 'indicator';\n container.add(indicator as unknown as INode);\n this._indicatorComponent = indicator;\n this._indicatorComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._indicatorComponent as unknown as IGraphic, event, type)\n );\n }\n this._cacheAttrs = attrs;\n }\n\n private _createText(\n field: string | undefined,\n text:\n | string\n | number\n | string[]\n | number[]\n | IRichTextCharacter[]\n | FunctionType<number | number[] | string | string[] | IRichTextCharacter[]>\n ) {\n if (field) {\n return this._activeDatum ? this._activeDatum[field] : '';\n }\n if (isFunction(text)) {\n return text(this._activeDatum, undefined) ?? '';\n }\n return text ?? '';\n }\n\n private _computeLayoutRadius() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n private isRelativeModel(g: IMarkGraphic) {\n return this._regions.some(region => !!region.getSeriesInId(g.context.modelId));\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._indicatorComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n this._cacheAttrs = null;\n super.clear();\n }\n\n getIndicatorComponent(): IndicatorComponents {\n return this._indicatorComponent;\n }\n}\n\nexport const registerIndicator = () => {\n Factory.registerComponent(Indicator.type, Indicator);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/indicator/indicator.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKhF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAE3E,MAAM,OAAO,SAAoC,SAAQ,aAAgB;IAAzE;;QAEE,SAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC;QACnC,SAAI,GAAW,iBAAiB,CAAC,SAAS,CAAC;QAM3C,YAAO,GAAG,WAAW,CAAC;QAEtB,eAAU,GAAW,MAAM,CAAC;QAC5B,iBAAY,GAAW,YAAY,CAAC,SAAS,CAAC;QAC9C,gBAAW,GAAW,WAAW,CAAC,SAAS,CAAC;QAEpC,SAAI,GAAW,CAAC,CAAC;QAEjB,iBAAY,GAAQ,IAAI,CAAC;IAuPnC,CAAC;IA9OC,MAAM,CAAC,WAAW,CAAC,SAAc;QAC/B,OAAO,WAAW,CAAiB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAiB,EAAE,EAAE;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,YAAY,CAAC,IAAO,EAAE,QAAW;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE7C,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACtD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,OAAO,mCACT,MAAM,CAAC,OAAO,KACjB,SAAS,EAAE,IAAI,EACf,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,GACb,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAGS,SAAS;QACjB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACpC,OAAO;SACR;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,MAAW,EAAE,EAAE;gBACvD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE7B,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;oBAC3B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAY,CAAC,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,MAAW,EAAE,EAAE;gBACvD,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,MAAW,EAAE,EAAE;gBACpD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE7B,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;oBAC3B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAY,CAAC,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,MAAW,EAAE,EAAE;gBACpD,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,WAAW,CAAC,KAAU;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAGO,QAAQ;QACd,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACjG,WAAW,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACd,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY;aAC/B,CAAC;SACH,CAAC,CAAC;QAEH,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,qBAAqB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;QAE9C,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE;YAC9F,OAAO;gBACL,OAAO,EAAE,KAAK;aACQ,CAAC;SAC1B;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC9C,MAAM,KAAgE,IAAI,CAAC,KAAK,EAA1E,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,OAA4B,EAAvB,QAAQ,cAA3D,wDAA6D,CAAa,CAAC;QAEjF,MAAM,oBAAoB,GAAyB,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAA4B,EAAE,EAAE;YACtD,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjE,oBAAoB,CAAC,IAAI,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjG,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;gBACrC,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,KAAK,kCACA,uBAAuB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KACvF,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAClE;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,gBACL,OAAO,EAAE,IAAI,EACb,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACf,EACD,MAAM,EAAE,IAAI,CAAC,YAAY,EACzB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACzE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACzE,UAAU,EAAE,UAAU,IAAI,QAAQ,EAClC,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;gBACzF,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;gBAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,kCACA,uBAAuB,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KACjF,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAW,CAAC,GAC7D;aACF,EACD,OAAO,EAAE,oBAAoB,IACzB,QAA2C,CACzB,CAAC;IAC3B,CAAC;IAEO,iCAAiC,CAAC,KAA0B;QAClE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;YAE3B,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;gBAC/D,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACvE;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gBACrC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAEtC,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,KAAY,CAAC,CAAC;YACxD,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,SAA6B,CAAC,CAAC;YAC7C,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE,CAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAA0C,EAAE,KAAK,EAAE,IAAI,CAAC,CAClF,CAAC;SACH;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEO,WAAW,CACjB,KAAyB,EACzB,IAM8E;;QAE9E,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,mCAAI,EAAE,CAAC;SACjD;QACD,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACpB,CAAC;IAEO,oBAAoB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,eAAe,CAAC,CAAe;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAES,8BAA8B;QACtC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAwB,CAAC;IAC3D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;;AAtQM,cAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAI1B,sBAAY,GAAG;IAC7B,SAAS;CACV,CAAC;AACK,iBAAO,GAAG,WAAW,CAAC;AAkQ/B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC","file":"indicator.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport type { IRegion } from '../../region/interface';\nimport type { IIndicator, IIndicatorItemSpec, IIndicatorSpec } from './interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { transformIndicatorStyle } from '../../util/style';\nimport { getActualNumValue } from '../../util/space';\nimport { isEqual, isValid, isFunction, array, pickWithout } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { Indicator as IndicatorComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IndicatorAttributes } from '@visactor/vrender-components';\nimport type { IGraphic, INode, IGroup } from '@visactor/vrender-core';\nimport type { FunctionType } from '../../typings/visual';\nimport { Factory } from '../../core/factory';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRichTextCharacter } from '@visactor/vrender-core';\nimport { getSpecInfo } from '../util';\nimport { getDatumOfGraphic } from '../../util/mark';\nimport type { IMarkGraphic } from '../../mark/interface';\nimport { indicator } from '../../theme/builtin/common/component/indicator';\n\nexport class Indicator<T extends IIndicatorSpec> extends BaseComponent<T> implements IIndicator {\n static type = ComponentTypeEnum.indicator;\n type = ComponentTypeEnum.indicator;\n name: string = ComponentTypeEnum.indicator;\n\n static readonly builtInTheme = {\n indicator\n };\n static specKey = 'indicator';\n specKey = 'indicator';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.Indicator;\n layoutLevel: number = LayoutLevel.Indicator;\n\n private _gap: number = 0;\n\n private _activeDatum: any = null;\n private _displayData!: CompilableData;\n\n private _title: IIndicatorItemSpec;\n private _content: IIndicatorItemSpec[];\n\n private _indicatorComponent: IndicatorComponents;\n private _cacheAttrs: IndicatorAttributes;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IIndicatorSpec>(chartSpec, this.specKey, this.type, (s: IIndicatorSpec) => {\n return s && s.visible !== false;\n });\n }\n\n created() {\n super.created();\n // data\n this.initData();\n // event\n this.initEvent();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._gap = this._spec.gap || 0;\n this._title = this._spec.title;\n this._content = array(this._spec.content);\n this._regions = this._option.getRegionsInUserIdOrIndex(array(this._spec.regionId), array(this._spec.regionIndex));\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n const specChanged = !isEqual(prevSpec, spec);\n\n if (specChanged && !result.reMake && !result.reCompile) {\n result.change = true;\n result.reRender = true;\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n }\n\n return result;\n }\n\n // event\n protected initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n this.event.on('element-highlight:start', (params: any) => {\n const g = params.graphics[0];\n\n if (this.isRelativeModel(g)) {\n this.updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-highlight:reset', (params: any) => {\n if (this._activeDatum) {\n this.updateDatum(null);\n }\n });\n } else {\n this.event.on('element-select:start', (params: any) => {\n const g = params.graphics[0];\n\n if (this.isRelativeModel(g)) {\n this.updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-select:reset', (params: any) => {\n if (this._activeDatum) {\n this.updateDatum(null);\n }\n });\n }\n }\n\n updateDatum(datum: any) {\n this._activeDatum = datum;\n this._displayData.updateData();\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n }\n\n // data\n private initData() {\n registerDataSetInstanceTransform(this._option.dataSet, 'indicatorFilter', indicatorMapper);\n const displayData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n displayData.transform({\n type: 'indicatorFilter',\n options: () => ({\n title: this._title,\n content: this._content,\n datum: () => this._activeDatum\n })\n });\n\n displayData.target.addListener('change', this.updateDatum.bind(this));\n\n this._displayData = new CompilableData(this._option, displayData);\n }\n\n updateLayoutAttribute(): void {\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getIndicatorAttrs() {\n if (this._spec.visible === false || (this._spec.fixed === false && this._activeDatum === null)) {\n return {\n visible: false\n } as IndicatorAttributes;\n }\n\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n const { x, y } = region.getLayoutStartPoint();\n const { content, offsetX, offsetY, limitRatio, title, ...restSpec } = this._spec;\n\n const contentComponentSpec: IIndicatorItemSpec[] = [];\n array(content).forEach((eachItem: IIndicatorItemSpec) => {\n const contentSpec = mergeSpec({}, this._theme.content, eachItem);\n contentComponentSpec.push({\n visible: contentSpec.visible !== false && (contentSpec.field ? this._activeDatum !== null : true),\n space: contentSpec.space || this._gap,\n autoLimit: contentSpec.autoLimit,\n autoFit: contentSpec.autoFit,\n fitPercent: contentSpec.fitPercent,\n fitStrategy: contentSpec.fitStrategy,\n style: {\n ...transformIndicatorStyle(pickWithout(contentSpec.style, ['text']), this._activeDatum),\n text: this._createText(contentSpec.field, contentSpec.style.text)\n }\n });\n });\n\n return {\n visible: true,\n size: {\n width: width,\n height: height\n },\n zIndex: this.layoutZIndex,\n x: x,\n y: y,\n dx: offsetX ? getActualNumValue(offsetX, this._computeLayoutRadius()) : 0,\n dy: offsetY ? getActualNumValue(offsetY, this._computeLayoutRadius()) : 0,\n limitRatio: limitRatio || Infinity,\n title: {\n visible: title.visible !== false && (!isValid(title.field) || this._activeDatum !== null),\n space: title.space || this._gap,\n autoLimit: title.autoLimit,\n autoFit: title.autoFit,\n fitPercent: title.fitPercent,\n fitStrategy: title.fitStrategy,\n style: {\n ...transformIndicatorStyle(pickWithout(title.style, ['text']), this._activeDatum),\n text: this._createText(title.field, title.style.text as any) // FIXME: type\n }\n },\n content: contentComponentSpec,\n ...(restSpec as unknown as IndicatorAttributes)\n } as IndicatorAttributes;\n }\n\n private _createOrUpdateIndicatorComponent(attrs: IndicatorAttributes) {\n if (attrs.visible === false) {\n // 按照vrender-component 的设置,只切换visible: false,并不会更新组件,所以强制删掉节点\n if (this._indicatorComponent && this._indicatorComponent.parent) {\n this._indicatorComponent.parent.removeChild(this._indicatorComponent);\n }\n this._indicatorComponent = null;\n return;\n }\n\n if (this._indicatorComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._indicatorComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n //FIXME:类型“IndicatorAttributes”的参数不能赋给类型“Required<IndicatorAttributes>”的参数\n const indicator = new IndicatorComponents(attrs as any);\n indicator.name = 'indicator';\n container.add(indicator as unknown as INode);\n this._indicatorComponent = indicator;\n this._indicatorComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._indicatorComponent as unknown as IGraphic, event, type)\n );\n }\n this._cacheAttrs = attrs;\n }\n\n private _createText(\n field: string | undefined,\n text:\n | string\n | number\n | string[]\n | number[]\n | IRichTextCharacter[]\n | FunctionType<number | number[] | string | string[] | IRichTextCharacter[]>\n ) {\n if (field) {\n return this._activeDatum ? this._activeDatum[field] : '';\n }\n if (isFunction(text)) {\n return text(this._activeDatum, undefined) ?? '';\n }\n return text ?? '';\n }\n\n private _computeLayoutRadius() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n private isRelativeModel(g: IMarkGraphic) {\n return this._regions.some(region => !!region.getSeriesInId(g.context.modelId));\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._indicatorComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n this._cacheAttrs = null;\n super.clear();\n }\n\n getIndicatorComponent(): IndicatorComponents {\n return this._indicatorComponent;\n }\n}\n\nexport const registerIndicator = () => {\n Factory.registerComponent(Indicator.type, Indicator);\n};\n"]}
@@ -2,12 +2,13 @@ import type { IIndicatorItemSpec } from './interface';
2
2
  export interface IIndicatorDatum {
3
3
  type: 'title' | 'content';
4
4
  index: number;
5
- datum: any;
5
+ datum: unknown;
6
6
  spec: IIndicatorItemSpec;
7
7
  }
8
8
  export interface IIndicatorMapper {
9
9
  title: IIndicatorItemSpec;
10
10
  content: IIndicatorItemSpec[];
11
- datum: () => any;
11
+ datum: () => unknown;
12
12
  }
13
- export declare const indicatorMapper: (data: Array<any>, op: IIndicatorMapper) => any[];
13
+ export type IndicatorMapperOption = IIndicatorMapper | (() => IIndicatorMapper);
14
+ export declare const indicatorMapper: (data: Array<unknown>, op: IndicatorMapperOption) => IIndicatorDatum[];
@@ -1,7 +1,7 @@
1
- import { array } from "@visactor/vutils";
1
+ import { array, isFunction } from "@visactor/vutils";
2
2
 
3
3
  export const indicatorMapper = (data, op) => {
4
- const {datum: datum, title: title, content: content} = op, mappedData = [], datumResult = datum.call(null);
4
+ const {datum: datum, title: title, content: content} = isFunction(op) ? op() : op, mappedData = [], datumResult = datum.call(null);
5
5
  return title.visible && mappedData.push({
6
6
  type: "title",
7
7
  index: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/indicator/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgBzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAE,EAAoB,EAAE,EAAE;IACxE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrC,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,KAAK;SACO,CAAC,CAAC;KACvB;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,CAAC,OAAO,EAAE;YACb,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,CAAC;aACW,CAAC,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC","file":"util.js","sourcesContent":["import { array } from '@visactor/vutils';\nimport type { IIndicatorItemSpec } from './interface';\n\nexport interface IIndicatorDatum {\n type: 'title' | 'content';\n index: number;\n datum: any;\n spec: IIndicatorItemSpec;\n}\n\nexport interface IIndicatorMapper {\n title: IIndicatorItemSpec;\n content: IIndicatorItemSpec[];\n datum: () => any;\n}\n\nexport const indicatorMapper = (data: Array<any>, op: IIndicatorMapper) => {\n const { datum, title, content } = op;\n const mappedData: Array<any> = [];\n const datumResult = datum.call(null);\n if (title.visible) {\n mappedData.push({\n type: 'title',\n index: 0,\n datum: datumResult,\n spec: title\n } as IIndicatorDatum);\n }\n array(content).forEach((c, i) => {\n if (c.visible) {\n mappedData.push({\n type: 'content',\n index: i,\n datum: datumResult,\n spec: c\n } as IIndicatorDatum);\n }\n });\n return mappedData;\n};\n"]}
1
+ {"version":3,"sources":["../src/component/indicator/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkBrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAoB,EAAE,EAAyB,EAAE,EAAE;IACjF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,KAAK;SACO,CAAC,CAAC;KACvB;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,CAAC,OAAO,EAAE;YACb,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,CAAC;aACW,CAAC,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC","file":"util.js","sourcesContent":["import { array, isFunction } from '@visactor/vutils';\nimport type { IIndicatorItemSpec } from './interface';\n\nexport interface IIndicatorDatum {\n type: 'title' | 'content';\n index: number;\n datum: unknown;\n spec: IIndicatorItemSpec;\n}\n\nexport interface IIndicatorMapper {\n title: IIndicatorItemSpec;\n content: IIndicatorItemSpec[];\n datum: () => unknown;\n}\n\nexport type IndicatorMapperOption = IIndicatorMapper | (() => IIndicatorMapper);\n\nexport const indicatorMapper = (data: Array<unknown>, op: IndicatorMapperOption) => {\n const { datum, title, content } = isFunction(op) ? op() : op;\n const mappedData: IIndicatorDatum[] = [];\n const datumResult = datum.call(null);\n if (title.visible) {\n mappedData.push({\n type: 'title',\n index: 0,\n datum: datumResult,\n spec: title\n } as IIndicatorDatum);\n }\n array(content).forEach((c, i) => {\n if (c.visible) {\n mappedData.push({\n type: 'content',\n index: i,\n datum: datumResult,\n spec: c\n } as IIndicatorDatum);\n }\n });\n return mappedData;\n};\n"]}
@@ -19,4 +19,4 @@ export class ExpressionFunction {
19
19
  return Object.keys(this.functions);
20
20
  }
21
21
  }
22
- //# sourceMappingURL=expression-function.js.map
22
+ //# sourceMappingURL=expression-function.js.map
@@ -190,4 +190,4 @@ Factory.registerInteractionTrigger = (interactionType, interaction) => {
190
190
  const Cror = Factory._tooltipProcessors[type];
191
191
  return Cror ? new Cror(tooltip) : null;
192
192
  };
193
- //# sourceMappingURL=factory.js.map
193
+ //# sourceMappingURL=factory.js.map
package/esm/core/index.js CHANGED
@@ -55,4 +55,4 @@ export { lookup } from "../data/transforms/lookup";
55
55
  export { warn } from "../util/debug";
56
56
 
57
57
  export { measureText } from "../util/text";
58
- //# sourceMappingURL=index.js.map
58
+ //# sourceMappingURL=index.js.map
@@ -43,4 +43,4 @@ export const releaseDataViewWithDependencies = (dataView, shouldReleaseDependenc
43
43
  };
44
44
  collectReleaseDependencies(dataView), releaseDataViews([ dataView, ...releaseDependencies ]);
45
45
  };
46
- //# sourceMappingURL=data-view-utils.js.map
46
+ //# sourceMappingURL=data-view-utils.js.map
@@ -81,4 +81,4 @@ export var TransformLevel;
81
81
  TransformLevel[TransformLevel.linkDotInfo = -7] = "linkDotInfo", TransformLevel[TransformLevel.sankeyLayout = -7] = "sankeyLayout",
82
82
  TransformLevel[TransformLevel.dataZoomFilter = -6] = "dataZoomFilter", TransformLevel[TransformLevel.legendFilter = -5] = "legendFilter";
83
83
  }(TransformLevel || (TransformLevel = {}));
84
- //# sourceMappingURL=initialize.js.map
84
+ //# sourceMappingURL=initialize.js.map
@@ -5,4 +5,4 @@ export function registerDataSetInstanceTransform(dataSet, name, transform) {
5
5
  export function registerDataSetInstanceParser(dataSet, name, parse) {
6
6
  dataSet.getParser(name) || dataSet.registerParser(name, parse);
7
7
  }
8
- //# sourceMappingURL=register.js.map
8
+ //# sourceMappingURL=register.js.map
@@ -1,6 +1,9 @@
1
+ import type { DataView } from '@visactor/vdataset';
1
2
  export interface IBoxPlotOutlierOpt {
2
3
  dimensionField: string[];
3
4
  outliersField: string;
4
5
  seriesField?: string;
5
6
  }
6
- export declare const foldOutlierData: (data: Array<DataView>, op: IBoxPlotOutlierOpt) => any;
7
+ type BoxPlotOutlierOption = IBoxPlotOutlierOpt | (() => IBoxPlotOutlierOpt);
8
+ export declare const foldOutlierData: (data: Array<DataView>, op: BoxPlotOutlierOption) => Record<string, unknown>[];
9
+ export {};
@@ -1,12 +1,12 @@
1
- import { isArray, isValid } from "@visactor/vutils";
1
+ import { isArray, isFunction, isValid } from "@visactor/vutils";
2
2
 
3
3
  import { BOX_PLOT_OUTLIER_VALUE_FIELD } from "../../constant/box-plot";
4
4
 
5
5
  export const foldOutlierData = (data, op) => {
6
- const result = [], {outliersField: outliersField, dimensionField: dimensionField, seriesField: seriesField} = op;
6
+ const result = [], options = isFunction(op) ? op() : op, {outliersField: outliersField, dimensionField: dimensionField, seriesField: seriesField} = options;
7
7
  return (data[0].latestData || []).forEach((d => {
8
- let outlierValues = d[outliersField];
9
- isArray(outlierValues) || (outlierValues = [ outlierValues ]), result.push(...outlierValues.map((v => {
8
+ const rawOutlierValues = d[outliersField], outlierValues = isArray(rawOutlierValues) ? rawOutlierValues : [ rawOutlierValues ];
9
+ result.push(...outlierValues.map((v => {
10
10
  const resData = {
11
11
  [BOX_PLOT_OUTLIER_VALUE_FIELD]: v
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data/transforms/box-plot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAcvE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAE,EAAsB,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAI,IAAI,CAAC,CAAC,CAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IAErD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE;QAC9B,IAAI,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAC3B,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;SACjC;QACD,MAAM,CAAC,IAAI,CACT,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG;gBACd,CAAC,4BAA4B,CAAC,EAAE,CAAC;aAClC,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;gBACvB,OAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;aAChD;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC","file":"box-plot.js","sourcesContent":["import { isArray, isValid } from '@visactor/vutils';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport type { Datum } from '../../typings';\n\nexport interface IBoxPlotOutlierOpt {\n dimensionField: string[];\n outliersField: string;\n seriesField?: string;\n}\n/**\n * 将箱型图outlier数组展平\n * @param data\n * @param options\n * @returns\n */\nexport const foldOutlierData = (data: Array<DataView>, op: IBoxPlotOutlierOpt) => {\n const result: any = [];\n const { outliersField, dimensionField, seriesField } = op;\n const latestData = (data[0] as any).latestData || [];\n\n latestData.forEach((d: Datum) => {\n let outlierValues = d[outliersField];\n if (!isArray(outlierValues)) {\n outlierValues = [outlierValues];\n }\n result.push(\n ...outlierValues.map((v: any) => {\n const resData = {\n [BOX_PLOT_OUTLIER_VALUE_FIELD]: v\n };\n dimensionField.forEach(field => {\n (resData as any)[field] = d[field];\n });\n\n if (isValid(seriesField)) {\n (resData as any)[seriesField] = d[seriesField];\n }\n\n return resData;\n })\n );\n });\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/box-plot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAevE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAE,EAAwB,EAAE,EAAE;IACjF,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC/D,MAAM,UAAU,GAAI,IAAI,CAAC,CAAC,CAAgE,CAAC,UAAU,IAAI,EAAE,CAAC;IAE5G,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACrB,MAAM,gBAAgB,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CACT,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;YAClC,MAAM,OAAO,GAA4B;gBACvC,CAAC,4BAA4B,CAAC,EAAE,CAAC;aAClC,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;gBACxB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;aACvC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC","file":"box-plot.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isArray, isFunction, isValid } from '@visactor/vutils';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\n\nexport interface IBoxPlotOutlierOpt {\n dimensionField: string[];\n outliersField: string;\n seriesField?: string;\n}\n\ntype BoxPlotOutlierOption = IBoxPlotOutlierOpt | (() => IBoxPlotOutlierOpt);\n/**\n * 将箱型图outlier数组展平\n * @param data\n * @param options\n * @returns\n */\nexport const foldOutlierData = (data: Array<DataView>, op: BoxPlotOutlierOption) => {\n const result: Array<Record<string, unknown>> = [];\n const options = isFunction(op) ? op() : op;\n const { outliersField, dimensionField, seriesField } = options;\n const latestData = (data[0] as unknown as { latestData?: Array<Record<string, unknown>> }).latestData || [];\n\n latestData.forEach(d => {\n const rawOutlierValues = d[outliersField];\n const outlierValues = isArray(rawOutlierValues) ? rawOutlierValues : [rawOutlierValues];\n result.push(\n ...outlierValues.map((v: unknown) => {\n const resData: Record<string, unknown> = {\n [BOX_PLOT_OUTLIER_VALUE_FIELD]: v\n };\n dimensionField.forEach(field => {\n resData[field] = d[field];\n });\n\n if (isValid(seriesField)) {\n resData[seriesField] = d[seriesField];\n }\n\n return resData;\n })\n );\n });\n return result;\n};\n"]}