@visactor/vchart 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +138 -41
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base-chart.js.map +1 -1
  6. package/cjs/component/brush/brush.d.ts +1 -0
  7. package/cjs/component/brush/brush.js +23 -16
  8. package/cjs/component/brush/brush.js.map +1 -1
  9. package/cjs/component/legend/discrete/legend.js +12 -9
  10. package/cjs/component/legend/discrete/legend.js.map +1 -1
  11. package/cjs/core/index.d.ts +1 -1
  12. package/cjs/core/index.js +1 -1
  13. package/cjs/core/index.js.map +1 -1
  14. package/cjs/series/area/area.d.ts +4 -1
  15. package/cjs/series/area/area.js +11 -0
  16. package/cjs/series/area/area.js.map +1 -1
  17. package/cjs/series/bar/bar.d.ts +2 -0
  18. package/cjs/series/bar/bar.js +3 -0
  19. package/cjs/series/bar/bar.js.map +1 -1
  20. package/cjs/series/base/base-series.d.ts +1 -0
  21. package/cjs/series/base/base-series.js +1 -1
  22. package/cjs/series/base/base-series.js.map +1 -1
  23. package/cjs/series/box-plot/box-plot.d.ts +2 -0
  24. package/cjs/series/box-plot/box-plot.js +3 -0
  25. package/cjs/series/box-plot/box-plot.js.map +1 -1
  26. package/cjs/series/circle-packing/circle-packing.d.ts +2 -0
  27. package/cjs/series/circle-packing/circle-packing.js +3 -0
  28. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  29. package/cjs/series/dot/dot.d.ts +1 -0
  30. package/cjs/series/dot/dot.js +3 -0
  31. package/cjs/series/dot/dot.js.map +1 -1
  32. package/cjs/series/funnel/funnel.d.ts +2 -0
  33. package/cjs/series/funnel/funnel.js +3 -0
  34. package/cjs/series/funnel/funnel.js.map +1 -1
  35. package/cjs/series/gauge/gauge-pointer.d.ts +2 -0
  36. package/cjs/series/gauge/gauge-pointer.js +3 -0
  37. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  38. package/cjs/series/gauge/gauge.d.ts +2 -0
  39. package/cjs/series/gauge/gauge.js +3 -0
  40. package/cjs/series/gauge/gauge.js.map +1 -1
  41. package/cjs/series/geo/geo.d.ts +2 -0
  42. package/cjs/series/geo/geo.js +3 -0
  43. package/cjs/series/geo/geo.js.map +1 -1
  44. package/cjs/series/heatmap/heatmap.d.ts +2 -0
  45. package/cjs/series/heatmap/heatmap.js +3 -0
  46. package/cjs/series/heatmap/heatmap.js.map +1 -1
  47. package/cjs/series/interface/series.d.ts +1 -0
  48. package/cjs/series/interface/series.js.map +1 -1
  49. package/cjs/series/line/line.d.ts +2 -0
  50. package/cjs/series/line/line.js +4 -1
  51. package/cjs/series/line/line.js.map +1 -1
  52. package/cjs/series/link/link.d.ts +1 -0
  53. package/cjs/series/link/link.js +3 -0
  54. package/cjs/series/link/link.js.map +1 -1
  55. package/cjs/series/map/map.d.ts +2 -0
  56. package/cjs/series/map/map.js +3 -0
  57. package/cjs/series/map/map.js.map +1 -1
  58. package/cjs/series/pie/pie.d.ts +1 -0
  59. package/cjs/series/pie/pie.js +3 -0
  60. package/cjs/series/pie/pie.js.map +1 -1
  61. package/cjs/series/progress/circular/circular.d.ts +2 -0
  62. package/cjs/series/progress/circular/circular.js +3 -0
  63. package/cjs/series/progress/circular/circular.js.map +1 -1
  64. package/cjs/series/progress/linear/linear.d.ts +2 -0
  65. package/cjs/series/progress/linear/linear.js +3 -0
  66. package/cjs/series/progress/linear/linear.js.map +1 -1
  67. package/cjs/series/radar/radar.d.ts +4 -2
  68. package/cjs/series/radar/radar.js +11 -0
  69. package/cjs/series/radar/radar.js.map +1 -1
  70. package/cjs/series/range-area/range-area.js.map +1 -1
  71. package/cjs/series/rose/rose.d.ts +2 -0
  72. package/cjs/series/rose/rose.js +3 -0
  73. package/cjs/series/rose/rose.js.map +1 -1
  74. package/cjs/series/sankey/sankey.d.ts +2 -0
  75. package/cjs/series/sankey/sankey.js +3 -0
  76. package/cjs/series/sankey/sankey.js.map +1 -1
  77. package/cjs/series/scatter/scatter.d.ts +2 -0
  78. package/cjs/series/scatter/scatter.js +3 -0
  79. package/cjs/series/scatter/scatter.js.map +1 -1
  80. package/cjs/series/sunburst/sunburst.d.ts +2 -0
  81. package/cjs/series/sunburst/sunburst.js +3 -0
  82. package/cjs/series/sunburst/sunburst.js.map +1 -1
  83. package/cjs/series/treemap/treemap.d.ts +2 -0
  84. package/cjs/series/treemap/treemap.js +3 -0
  85. package/cjs/series/treemap/treemap.js.map +1 -1
  86. package/cjs/series/word-cloud/base.d.ts +2 -0
  87. package/cjs/series/word-cloud/base.js +3 -0
  88. package/cjs/series/word-cloud/base.js.map +1 -1
  89. package/esm/chart/base-chart.js.map +1 -1
  90. package/esm/component/brush/brush.d.ts +1 -0
  91. package/esm/component/brush/brush.js +25 -16
  92. package/esm/component/brush/brush.js.map +1 -1
  93. package/esm/component/legend/discrete/legend.js +12 -9
  94. package/esm/component/legend/discrete/legend.js.map +1 -1
  95. package/esm/core/index.d.ts +1 -1
  96. package/esm/core/index.js +1 -1
  97. package/esm/core/index.js.map +1 -1
  98. package/esm/series/area/area.d.ts +4 -1
  99. package/esm/series/area/area.js +12 -1
  100. package/esm/series/area/area.js.map +1 -1
  101. package/esm/series/bar/bar.d.ts +2 -0
  102. package/esm/series/bar/bar.js +3 -0
  103. package/esm/series/bar/bar.js.map +1 -1
  104. package/esm/series/base/base-series.d.ts +1 -0
  105. package/esm/series/base/base-series.js +1 -1
  106. package/esm/series/base/base-series.js.map +1 -1
  107. package/esm/series/box-plot/box-plot.d.ts +2 -0
  108. package/esm/series/box-plot/box-plot.js +3 -0
  109. package/esm/series/box-plot/box-plot.js.map +1 -1
  110. package/esm/series/circle-packing/circle-packing.d.ts +2 -0
  111. package/esm/series/circle-packing/circle-packing.js +3 -0
  112. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  113. package/esm/series/dot/dot.d.ts +1 -0
  114. package/esm/series/dot/dot.js +3 -0
  115. package/esm/series/dot/dot.js.map +1 -1
  116. package/esm/series/funnel/funnel.d.ts +2 -0
  117. package/esm/series/funnel/funnel.js +3 -0
  118. package/esm/series/funnel/funnel.js.map +1 -1
  119. package/esm/series/gauge/gauge-pointer.d.ts +2 -0
  120. package/esm/series/gauge/gauge-pointer.js +3 -0
  121. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  122. package/esm/series/gauge/gauge.d.ts +2 -0
  123. package/esm/series/gauge/gauge.js +3 -0
  124. package/esm/series/gauge/gauge.js.map +1 -1
  125. package/esm/series/geo/geo.d.ts +2 -0
  126. package/esm/series/geo/geo.js +3 -0
  127. package/esm/series/geo/geo.js.map +1 -1
  128. package/esm/series/heatmap/heatmap.d.ts +2 -0
  129. package/esm/series/heatmap/heatmap.js +3 -0
  130. package/esm/series/heatmap/heatmap.js.map +1 -1
  131. package/esm/series/interface/series.d.ts +1 -0
  132. package/esm/series/interface/series.js.map +1 -1
  133. package/esm/series/line/line.d.ts +2 -0
  134. package/esm/series/line/line.js +4 -1
  135. package/esm/series/line/line.js.map +1 -1
  136. package/esm/series/link/link.d.ts +1 -0
  137. package/esm/series/link/link.js +3 -0
  138. package/esm/series/link/link.js.map +1 -1
  139. package/esm/series/map/map.d.ts +2 -0
  140. package/esm/series/map/map.js +3 -0
  141. package/esm/series/map/map.js.map +1 -1
  142. package/esm/series/pie/pie.d.ts +1 -0
  143. package/esm/series/pie/pie.js +3 -0
  144. package/esm/series/pie/pie.js.map +1 -1
  145. package/esm/series/progress/circular/circular.d.ts +2 -0
  146. package/esm/series/progress/circular/circular.js +3 -0
  147. package/esm/series/progress/circular/circular.js.map +1 -1
  148. package/esm/series/progress/linear/linear.d.ts +2 -0
  149. package/esm/series/progress/linear/linear.js +3 -0
  150. package/esm/series/progress/linear/linear.js.map +1 -1
  151. package/esm/series/radar/radar.d.ts +4 -2
  152. package/esm/series/radar/radar.js +12 -1
  153. package/esm/series/radar/radar.js.map +1 -1
  154. package/esm/series/range-area/range-area.js.map +1 -1
  155. package/esm/series/rose/rose.d.ts +2 -0
  156. package/esm/series/rose/rose.js +3 -0
  157. package/esm/series/rose/rose.js.map +1 -1
  158. package/esm/series/sankey/sankey.d.ts +2 -0
  159. package/esm/series/sankey/sankey.js +3 -0
  160. package/esm/series/sankey/sankey.js.map +1 -1
  161. package/esm/series/scatter/scatter.d.ts +2 -0
  162. package/esm/series/scatter/scatter.js +3 -0
  163. package/esm/series/scatter/scatter.js.map +1 -1
  164. package/esm/series/sunburst/sunburst.d.ts +2 -0
  165. package/esm/series/sunburst/sunburst.js +3 -0
  166. package/esm/series/sunburst/sunburst.js.map +1 -1
  167. package/esm/series/treemap/treemap.d.ts +2 -0
  168. package/esm/series/treemap/treemap.js +3 -0
  169. package/esm/series/treemap/treemap.js.map +1 -1
  170. package/esm/series/word-cloud/base.d.ts +2 -0
  171. package/esm/series/word-cloud/base.js +3 -0
  172. package/esm/series/word-cloud/base.js.map +1 -1
  173. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel, DEFAULT_DATA_INDEX, PREFIX } from '../../constant';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings';\nimport { isNumber, valueInScaleRange } from '../../util';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { VChart } from '../../core/vchart';\nimport { BoxPlotMark } from '../../mark/box-plot';\nimport { SymbolMark } from '../../mark/symbol';\nimport { boxPlotSeriesMark } from './constant';\n\nVChart.useMark([BoxPlotMark, SymbolMark]);\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = boxPlotSeriesMark;\n\n protected declare _theme: Maybe<IBoxPlotSeriesTheme>;\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n };\n\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n\n this._trigger.registerMark(boxPlotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(boxPlotMark);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n symbolType: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._trigger.registerMark(outlierMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(outlierMark);\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.vertical ? this._yAxisHelper : this._xAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet);\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.vertical ? this._fieldX : this._fieldY,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addDataKey.bind(this)\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.vertical ? this._xAxisHelper : this._yAxisHelper;\n const xField = this._direction === Direction.vertical ? this._fieldX : this._fieldY;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = Object.assign({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xField = this._direction === Direction.vertical ? this._fieldX[0] : this._fieldY[0];\n const xValue = datum?.[xField];\n const xIndex = this._viewDataStatistics?.latestData?.[xField]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(DEFAULT_MARK_ANIMATION.boxPlot());\n const newConfig = this._initAnimationSpec(userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec));\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, { dataIndex }));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), outlierMarkUserAnimation, {\n dataIndex\n })\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel, DEFAULT_DATA_INDEX, PREFIX } from '../../constant';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings';\nimport { isNumber, valueInScaleRange } from '../../util';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { VChart } from '../../core/vchart';\nimport { BoxPlotMark } from '../../mark/box-plot';\nimport { SymbolMark } from '../../mark/symbol';\nimport { boxPlotSeriesMark } from './constant';\nimport type { IMark } from '../../mark/interface';\n\nVChart.useMark([BoxPlotMark, SymbolMark]);\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = boxPlotSeriesMark;\n\n protected declare _theme: Maybe<IBoxPlotSeriesTheme>;\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n };\n\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n\n this._trigger.registerMark(boxPlotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(boxPlotMark);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n symbolType: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._trigger.registerMark(outlierMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(outlierMark);\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.vertical ? this._yAxisHelper : this._xAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet);\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.vertical ? this._fieldX : this._fieldY,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addDataKey.bind(this)\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.vertical ? this._xAxisHelper : this._yAxisHelper;\n const xField = this._direction === Direction.vertical ? this._fieldX : this._fieldY;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = Object.assign({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xField = this._direction === Direction.vertical ? this._fieldX[0] : this._fieldY[0];\n const xValue = datum?.[xField];\n const xIndex = this._viewDataStatistics?.latestData?.[xField]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(DEFAULT_MARK_ANIMATION.boxPlot());\n const newConfig = this._initAnimationSpec(userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec));\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, { dataIndex }));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), outlierMarkUserAnimation, {\n dataIndex\n })\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._boxPlotMark];\n }\n}\n"]}
@@ -3,6 +3,7 @@ import type { Datum } from '../../typings';
3
3
  import type { SeriesMarkMap } from '../interface';
4
4
  import { SeriesTypeEnum } from '../interface';
5
5
  import { CartesianSeries } from '../cartesian/cartesian';
6
+ import type { IMark } from '../../mark/interface';
6
7
  export declare class CirclePackingSeries<T extends ICirclePackingSeriesSpec = ICirclePackingSeriesSpec> extends CartesianSeries<T> {
7
8
  static readonly type: string;
8
9
  type: SeriesTypeEnum;
@@ -39,4 +40,5 @@ export declare class CirclePackingSeries<T extends ICirclePackingSeriesSpec = IC
39
40
  initEvent(): void;
40
41
  onLayoutEnd(ctx: any): void;
41
42
  protected _noAnimationDataKey(datum: Datum, index: number): unknown | undefined;
43
+ getActiveMarks(): IMark[];
42
44
  }
@@ -163,6 +163,9 @@ class CirclePackingSeries extends cartesian_1.CartesianSeries {
163
163
  super.onLayoutEnd(ctx), this._rawData.reRunAllTransform();
164
164
  }
165
165
  _noAnimationDataKey(datum, index) {}
166
+ getActiveMarks() {
167
+ return [ this._circlePackingMark ];
168
+ }
166
169
  }
167
170
 
168
171
  exports.CirclePackingSeries = CirclePackingSeries, CirclePackingSeries.type = interface_1.SeriesTypeEnum.circlePacking,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/circle-packing/circle-packing.ts"],"names":[],"mappings":"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","file":"circle-packing.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { isNil, mixin } from '@visactor/vutils';\n\nimport type { ICirclePackingOpt } from '../../data/transforms/circle-packing';\nimport type { ICirclePackingSeriesSpec } from './interface';\n\nimport type { IMarkSpec } from '../..';\nimport type { Datum, IArcMarkSpec, ITextMarkSpec } from '../../typings';\n\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\n\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { circlePackingLayout } from '../../data/transforms/circle-packing';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IArcMark } from '../../mark/arc';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport type { CirclePackingNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { flatten } from '../../data/transforms/flatten';\nimport { CirclePackingTooltipHelper } from './tooltip-helper';\nimport type { ITextMark } from '../../mark/text';\nimport { addHierarchyDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { CirclePackingAppearPreset } from './animation';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { VChart } from '../../core/vchart';\nimport { ArcMark } from '../../mark/arc';\nimport { TextMark } from '../../mark/text';\nimport { circlePackingSeriesMark } from './constant';\n\nVChart.useMark([ArcMark, TextMark]);\n\nexport class CirclePackingSeries<\n T extends ICirclePackingSeriesSpec = ICirclePackingSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.circlePacking;\n type = SeriesTypeEnum.circlePacking;\n\n static readonly mark: SeriesMarkMap = circlePackingSeriesMark;\n\n // 映射字段\n protected _categoryField!: string;\n protected _valueField!: string;\n // 配置\n private _layoutPadding: number | number[];\n private _circlePacking: IMarkSpec<IArcMarkSpec>;\n private _label: IMarkSpec<ITextMarkSpec>;\n // Mark\n private _circlePackingMark: IArcMark;\n private _labelMark: ITextMark;\n\n // 钻取功能开启\n private _drill?: boolean;\n\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n getCategoryField() {\n return this._categoryField;\n }\n\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n getValueField() {\n return this._valueField;\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n this._circlePacking = this._spec.circlePacking;\n this._label = this._spec.label;\n this._layoutPadding = this._spec.layoutPadding;\n }\n\n protected initData(): void {\n super.initData();\n\n const rawData = this.getRawData();\n\n if (isNil(rawData)) {\n return;\n }\n\n if (this._spec.drill) {\n // 对原始数据进行上卷下钻筛选\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n // 注册布局算法\n registerDataSetInstanceTransform(this._dataSet, 'circlePackingLayout', circlePackingLayout);\n // 注册扁平化算法\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n // 布局算法\n rawData.transform({\n type: 'circlePackingLayout',\n options: (): ICirclePackingOpt => {\n return {\n nodeKey: this._categoryField,\n padding: this._layoutPadding,\n includeRoot: false,\n width: this.getLayoutRect().width || 1,\n height: this.getLayoutRect().height || 1\n };\n }\n });\n\n // 布局结果进行扁平化处理\n rawData.transform({\n type: 'flatten',\n options: {\n callback: (node: CirclePackingNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n\n protected _addDataIndexAndKey() {\n const rawData = this.getRawData();\n if (isNil(rawData?.dataSet)) {\n return;\n }\n // 为原始数据, 添加层级属性\n registerDataSetInstanceTransform(rawData.dataSet, 'addVChartProperty', addVChartProperty);\n rawData.transform({\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addHierarchyDataKey.bind(this)\n }\n });\n }\n\n initMark(): void {\n this._initCirclePackingMark();\n this._initLabelMark();\n }\n\n initMarkStyle(): void {\n this._initCirclePackingMarkStyle();\n this._initLabelMarkStyle();\n }\n\n private _initCirclePackingMark() {\n if (this._circlePacking?.visible === false) {\n return;\n }\n\n const circlePacking = this._createMark(CirclePackingSeries.mark.circlePacking, {\n isSeriesMark: true\n }) as IArcMark;\n\n this._circlePackingMark = circlePacking;\n this._trigger.registerMark(circlePacking);\n this._tooltipHelper?.activeTriggerSet.mark.add(circlePacking);\n }\n\n private _initCirclePackingMarkStyle() {\n if (isNil(this._circlePackingMark)) {\n return;\n }\n\n this.setMarkStyle(\n this._circlePackingMark,\n {\n x: d => d.x,\n y: d => d.y,\n outerRadius: d => d.radius,\n innerRadius: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n fill: this.getColorAttribute(),\n zIndex: d => d.depth\n // Todo 内置根节点和叶节点透明度\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n private _initLabelMark() {\n if (this._label?.visible === false) {\n return;\n }\n const labelMark = this._createMark(CirclePackingSeries.mark.label, {\n isSeriesMark: false\n }) as IArcMark;\n\n this._labelMark = labelMark;\n this._trigger.registerMark(labelMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(labelMark);\n }\n\n private _initLabelMarkStyle() {\n if (isNil(this._labelMark)) {\n return;\n }\n\n this.setMarkStyle(\n this._labelMark,\n {\n x: d => d.x,\n y: d => d.y,\n text: d => {\n return d.key;\n },\n cursor: 'pointer'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n protected initTooltip() {\n this._tooltipHelper = new CirclePackingTooltipHelper(this);\n }\n\n initAnimation(): void {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<CirclePackingAppearPreset>)?.preset;\n\n this.getMarksInType(MarkTypeEnum.arc).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.circlePacking({}, appearPreset),\n userAnimationConfig(mark.name, this._spec)\n )\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(mark.name, this._spec))\n );\n });\n }\n\n initEvent() {\n super.initEvent();\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._rawData.reRunAllTransform();\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number): unknown | undefined {\n return undefined;\n }\n}\n\nmixin(CirclePackingSeries, Drillable);\n"]}
1
+ {"version":3,"sources":["../src/series/circle-packing/circle-packing.ts"],"names":[],"mappings":"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","file":"circle-packing.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { isNil, mixin } from '@visactor/vutils';\n\nimport type { ICirclePackingOpt } from '../../data/transforms/circle-packing';\nimport type { ICirclePackingSeriesSpec } from './interface';\n\nimport type { IMarkSpec } from '../..';\nimport type { Datum, IArcMarkSpec, ITextMarkSpec } from '../../typings';\n\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface';\n\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { circlePackingLayout } from '../../data/transforms/circle-packing';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IArcMark } from '../../mark/arc';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport type { CirclePackingNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { flatten } from '../../data/transforms/flatten';\nimport { CirclePackingTooltipHelper } from './tooltip-helper';\nimport type { ITextMark } from '../../mark/text';\nimport { addHierarchyDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { CirclePackingAppearPreset } from './animation';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { VChart } from '../../core/vchart';\nimport { ArcMark } from '../../mark/arc';\nimport { TextMark } from '../../mark/text';\nimport { circlePackingSeriesMark } from './constant';\n\nVChart.useMark([ArcMark, TextMark]);\n\nexport class CirclePackingSeries<\n T extends ICirclePackingSeriesSpec = ICirclePackingSeriesSpec\n> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.circlePacking;\n type = SeriesTypeEnum.circlePacking;\n\n static readonly mark: SeriesMarkMap = circlePackingSeriesMark;\n\n // 映射字段\n protected _categoryField!: string;\n protected _valueField!: string;\n // 配置\n private _layoutPadding: number | number[];\n private _circlePacking: IMarkSpec<IArcMarkSpec>;\n private _label: IMarkSpec<ITextMarkSpec>;\n // Mark\n private _circlePackingMark: IArcMark;\n private _labelMark: ITextMark;\n\n // 钻取功能开启\n private _drill?: boolean;\n\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n getCategoryField() {\n return this._categoryField;\n }\n\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n getValueField() {\n return this._valueField;\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n this._circlePacking = this._spec.circlePacking;\n this._label = this._spec.label;\n this._layoutPadding = this._spec.layoutPadding;\n }\n\n protected initData(): void {\n super.initData();\n\n const rawData = this.getRawData();\n\n if (isNil(rawData)) {\n return;\n }\n\n if (this._spec.drill) {\n // 对原始数据进行上卷下钻筛选\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n // 注册布局算法\n registerDataSetInstanceTransform(this._dataSet, 'circlePackingLayout', circlePackingLayout);\n // 注册扁平化算法\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n // 布局算法\n rawData.transform({\n type: 'circlePackingLayout',\n options: (): ICirclePackingOpt => {\n return {\n nodeKey: this._categoryField,\n padding: this._layoutPadding,\n includeRoot: false,\n width: this.getLayoutRect().width || 1,\n height: this.getLayoutRect().height || 1\n };\n }\n });\n\n // 布局结果进行扁平化处理\n rawData.transform({\n type: 'flatten',\n options: {\n callback: (node: CirclePackingNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n\n protected _addDataIndexAndKey() {\n const rawData = this.getRawData();\n if (isNil(rawData?.dataSet)) {\n return;\n }\n // 为原始数据, 添加层级属性\n registerDataSetInstanceTransform(rawData.dataSet, 'addVChartProperty', addVChartProperty);\n rawData.transform({\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addHierarchyDataKey.bind(this)\n }\n });\n }\n\n initMark(): void {\n this._initCirclePackingMark();\n this._initLabelMark();\n }\n\n initMarkStyle(): void {\n this._initCirclePackingMarkStyle();\n this._initLabelMarkStyle();\n }\n\n private _initCirclePackingMark() {\n if (this._circlePacking?.visible === false) {\n return;\n }\n\n const circlePacking = this._createMark(CirclePackingSeries.mark.circlePacking, {\n isSeriesMark: true\n }) as IArcMark;\n\n this._circlePackingMark = circlePacking;\n this._trigger.registerMark(circlePacking);\n this._tooltipHelper?.activeTriggerSet.mark.add(circlePacking);\n }\n\n private _initCirclePackingMarkStyle() {\n if (isNil(this._circlePackingMark)) {\n return;\n }\n\n this.setMarkStyle(\n this._circlePackingMark,\n {\n x: d => d.x,\n y: d => d.y,\n outerRadius: d => d.radius,\n innerRadius: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n fill: this.getColorAttribute(),\n zIndex: d => d.depth\n // Todo 内置根节点和叶节点透明度\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n private _initLabelMark() {\n if (this._label?.visible === false) {\n return;\n }\n const labelMark = this._createMark(CirclePackingSeries.mark.label, {\n isSeriesMark: false\n }) as IArcMark;\n\n this._labelMark = labelMark;\n this._trigger.registerMark(labelMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(labelMark);\n }\n\n private _initLabelMarkStyle() {\n if (isNil(this._labelMark)) {\n return;\n }\n\n this.setMarkStyle(\n this._labelMark,\n {\n x: d => d.x,\n y: d => d.y,\n text: d => {\n return d.key;\n },\n cursor: 'pointer'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n protected initTooltip() {\n this._tooltipHelper = new CirclePackingTooltipHelper(this);\n }\n\n initAnimation(): void {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<CirclePackingAppearPreset>)?.preset;\n\n this.getMarksInType(MarkTypeEnum.arc).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.circlePacking({}, appearPreset),\n userAnimationConfig(mark.name, this._spec)\n )\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(mark.name, this._spec))\n );\n });\n }\n\n initEvent() {\n super.initEvent();\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._rawData.reRunAllTransform();\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number): unknown | undefined {\n return undefined;\n }\n\n getActiveMarks(): IMark[] {\n return [this._circlePackingMark];\n }\n}\n\nmixin(CirclePackingSeries, Drillable);\n"]}
@@ -68,4 +68,5 @@ export declare class DotSeries<T extends IDotSeriesSpec = IDotSeriesSpec> extend
68
68
  getDotData(): import("../../compile/mark/mark-data").MarkData;
69
69
  protected _getDataIdKey(): any;
70
70
  getStackValueField(): string;
71
+ getActiveMarks(): IMark[];
71
72
  }
@@ -238,6 +238,9 @@ class DotSeries extends cartesian_1.CartesianSeries {
238
238
  getStackValueField() {
239
239
  return null;
240
240
  }
241
+ getActiveMarks() {
242
+ return [ this._dotMark ];
243
+ }
241
244
  }
242
245
 
243
246
  exports.DotSeries = DotSeries, DotSeries.type = type_1.SeriesTypeEnum.dot, DotSeries.mark = constant_1.dotSeriesMark;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/dot/dot.ts"],"names":[],"mappings":"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","file":"dot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD } from '../../constant/index';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { Maybe, Datum } from '../../typings';\nimport { isValid, mergeSpec } from '../../util';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IRuleMark } from '../../mark/rule';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport { dataViewParser } from '@visactor/vdataset';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport { DotSeriesTooltipHelper } from './tooltip-helper';\nimport type { IRectMark } from '../../mark/rect';\nimport type { FunctionType, IFillMarkSpec, VisualType } from '../../typings/visual';\nimport type { IDotSeriesSpec, IDotSeriesTheme } from './interface';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { objFlat } from '../../data/transforms/obj-flat';\nimport { DEFAULT_GRID_BACKGROUND } from './config';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { RuleMark } from '../../mark/rule';\nimport { RectMark } from '../../mark/rect';\nimport { dotSeriesMark } from './constant';\n\nVChart.useMark([SymbolMark, TextMark, RuleMark, RectMark]);\n\nexport class DotSeries<T extends IDotSeriesSpec = IDotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.dot;\n type = SeriesTypeEnum.dot;\n\n static readonly mark: SeriesMarkMap = dotSeriesMark;\n\n protected declare _theme: Maybe<IDotSeriesTheme>;\n\n private _xDimensionStatisticsDomain: any[];\n\n // csj-Q: 是否需要把这些属性写成接口?\n protected _seriesGroupField?: string;\n getSeriesGroupField() {\n return this._seriesField;\n }\n setSeriesGroupField(field: string) {\n if (isValid(field)) {\n this._seriesGroupField = field;\n }\n }\n\n protected _titleField?: string;\n getTitleField() {\n return this._titleField;\n }\n setTitleField(field: string) {\n if (isValid(field)) {\n this._titleField = field;\n }\n }\n\n protected _subTitleField?: string;\n getSubTitleField() {\n return this._subTitleField;\n }\n setSubTitleField(field: string) {\n if (isValid(field)) {\n this._subTitleField = field;\n }\n }\n\n protected _dotTypeField?: string;\n getDotTypeField() {\n return this._dotTypeField;\n }\n setDotTypeField(field: string) {\n if (isValid(field)) {\n this._dotTypeField = field;\n }\n }\n\n protected _highLightSeriesGroup?: string;\n getHighLightSeriesGroup() {\n return this._highLightSeriesGroup;\n }\n setHighLightSeriesGroup(field: string) {\n if (isValid(field)) {\n this._highLightSeriesGroup = field;\n }\n }\n\n protected _gridBackground?: IFillMarkSpec;\n setGridBackground(gridBackground: IFillMarkSpec) {\n if (isValid(gridBackground)) {\n this._gridBackground = gridBackground;\n }\n }\n\n /**\n * @override\n */\n initData(): void {\n super.initData();\n this._xDimensionStatisticsDomain = this.getRawData().latestData.map((d: Datum) => d[this._fieldY[0]]);\n\n // data to dataview\n registerDataSetInstanceTransform(this._option.dataSet, 'objFlat', objFlat);\n registerDataSetInstanceTransform(this._option.dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceParser(this._option.dataSet, 'dataview', dataViewParser);\n\n this.getViewDataFilter()?.transform(\n {\n type: 'objFlat',\n options: 'dots'\n },\n false\n );\n }\n\n /**\n * @override\n */\n setSeriesField(field: string) {\n if (isValid(field)) {\n this._seriesField = field;\n this.getMarksInType([MarkTypeEnum.line, MarkTypeEnum.area]).forEach(m => {\n m.setFacet(this._seriesField);\n });\n }\n }\n\n getStatisticFields() {\n return [{ key: this._fieldY[0], operations: ['values'], customize: this._xDimensionStatisticsDomain }] as {\n key: string;\n operations: Array<'max' | 'min' | 'values'>;\n customize: any[];\n }[];\n }\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setSeriesGroupField(this._spec.seriesGroupField);\n this.setTitleField(this._spec.titleField);\n this.setSubTitleField(this._spec.subTitleField);\n this.setDotTypeField(this._spec.dotTypeField);\n this.setHighLightSeriesGroup(this._spec.highLightSeriesGroup);\n this.setGridBackground(mergeSpec(DEFAULT_GRID_BACKGROUND, this._spec?.grid?.background || {}));\n }\n\n private _clipMark: IGroupMark;\n private _containerMark: IGroupMark;\n private _gridBackgroundMark: IRectMark;\n private _gridMark: IRuleMark;\n private _dotMark: ISymbolMark;\n private _titleMark: ITextMark;\n private _subTitleMark: ITextMark;\n private _symbolMark: ISymbolMark;\n initMark(): void {\n this._clipMark = this._createMark(DotSeries.mark.group) as IGroupMark;\n\n this._containerMark = this._createMark(DotSeries.mark.group, {\n parent: this._clipMark,\n dataView: this.getRawData()\n }) as IGroupMark;\n\n this._gridBackgroundMark = this._createMark(DotSeries.mark.gridBackground, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRectMark;\n\n this._gridMark = this._createMark(DotSeries.mark.grid, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRuleMark;\n\n this._dotMark = this._createMark(DotSeries.mark.dot, {\n skipBeforeLayouted: false,\n isSeriesMark: true,\n parent: this._containerMark\n }) as ISymbolMark;\n\n this._titleMark = this._createMark(DotSeries.mark.title, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._subTitleMark = this._createMark(DotSeries.mark.subTitle, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._symbolMark = this._createMark(DotSeries.mark.symbol, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const clipMark = this._clipMark;\n if (clipMark) {\n this.setMarkStyle(\n clipMark,\n {\n x: -this._spec.leftAppendPadding,\n y: 0,\n // 本应使用this.getLayoutRect().width, 但这该返回值为0。考虑到横向不需要裁剪,故先采用一个较大值\n width: 10000,\n height: this._spec.clipHeight,\n clip: true\n },\n 'normal',\n AttributeLevel.Series\n );\n clipMark.setInteractive(false);\n }\n\n const containerMark = this._containerMark;\n if (containerMark) {\n this.setMarkStyle(\n containerMark,\n {\n x: this._spec.leftAppendPadding\n },\n 'normal',\n AttributeLevel.Series\n );\n containerMark.setInteractive(false);\n }\n\n const gridBackgroundMark = this._gridBackgroundMark;\n if (gridBackgroundMark) {\n this.setMarkStyle(\n gridBackgroundMark,\n {\n x: this.getRegionRectLeft.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y: this.dataToGridBackgroundPositionY.bind(this),\n y1: this.dataToGridBackgroundPositionY1.bind(this),\n fill: this._gridBackground.fill,\n fillOpacity: this.dataToGridBackgroundOpacity.bind(this) as FunctionType<number>\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridBackgroundMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const gridMark = this._gridMark;\n if (gridMark) {\n this.setMarkStyle(\n gridMark,\n {\n stroke: this.getColorAttribute(),\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y1: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const dotMark = this._dotMark;\n if (dotMark) {\n this.setMarkStyle(\n dotMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getDotColorAttribute(),\n fillOpacity: this.dataToOpacity.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(dotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(dotMark);\n }\n\n const titleMark = this._titleMark;\n if (titleMark) {\n this.setMarkStyle(\n titleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(titleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(titleMark);\n }\n\n const subTitleMark = this._subTitleMark;\n if (subTitleMark) {\n this.setMarkStyle(\n subTitleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getSubTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(subTitleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(subTitleMark);\n }\n\n const symbolMark = this._symbolMark;\n if (symbolMark) {\n this.setMarkStyle(\n symbolMark,\n {\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(symbolMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n }\n\n dataToGridBackgroundPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) -\n getBandwidth(0) / 2\n );\n }\n\n dataToGridBackgroundPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) / 2\n );\n }\n\n dataToOpacity(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getScale } = this._xAxisHelper;\n\n if (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) < getScale(0).range()[0] ||\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) > getScale(0).range()[1]\n ) {\n return 0;\n }\n return this._theme?.dot?.style?.fillOpacity ?? 1;\n }\n\n dataToGridBackgroundOpacity(datum: Datum): VisualType<number> {\n if (datum[this._seriesGroupField] === this._highLightSeriesGroup) {\n return this._gridBackground.fillOpacity;\n }\n return 0;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n const layoutOffsetX = this._spec?.leftAppendPadding ?? 0;\n this.setMarkStyle(\n this._clipMark,\n {\n width: this.getLayoutRect().width + layoutOffsetX //clip的数值只能在layoutEnd之后获得\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n /**\n * @override\n * @description 如果用户设置了seriesGroup,则seriesGroup作为颜色映射字段\n */\n getDefaultColorDomain() {\n return this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n /**\n * @override\n * @description 对于dot来说,dotType优先级高于seriesGroup,作为颜色映射字段\n */\n protected getDotColorScale() {\n const colorDomain = this._dotTypeField\n ? this._viewDataStatistics?.latestData[this._dotTypeField].values\n : this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n const colorRange = getDataScheme(this._option.getTheme().colorScheme, this.type);\n return new ColorOrdinalScale().domain(colorDomain).range(colorRange);\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getDotColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDotColorScale(),\n field: this._dotTypeField ?? this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n protected initTooltip() {\n this._tooltipHelper = new DotSeriesTooltipHelper(this);\n }\n\n /**\n * @description onEvaluateEnd之后可以拿到canvas element,将滚动条挂载到canvas element上\n */\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n }\n\n protected onMarkTreePositionUpdate(marks: IMark[]): void {\n marks.forEach(m => {\n if (m.type === 'group') {\n this.onMarkTreePositionUpdate((m as IGroupMark).getMarks());\n } else {\n m.updateLayoutState();\n }\n });\n }\n\n getDotData() {\n return this._dotMark?.getData();\n }\n\n protected _getDataIdKey() {\n // dot 系列没有动画,可以使用默认的 dataKey\n return undefined as any;\n }\n\n getStackValueField(): string {\n return null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/dot/dot.ts"],"names":[],"mappings":"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","file":"dot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD } from '../../constant/index';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { Maybe, Datum } from '../../typings';\nimport { isValid, mergeSpec } from '../../util';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IRuleMark } from '../../mark/rule';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport { dataViewParser } from '@visactor/vdataset';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport { DotSeriesTooltipHelper } from './tooltip-helper';\nimport type { IRectMark } from '../../mark/rect';\nimport type { FunctionType, IFillMarkSpec, VisualType } from '../../typings/visual';\nimport type { IDotSeriesSpec, IDotSeriesTheme } from './interface';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { objFlat } from '../../data/transforms/obj-flat';\nimport { DEFAULT_GRID_BACKGROUND } from './config';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { RuleMark } from '../../mark/rule';\nimport { RectMark } from '../../mark/rect';\nimport { dotSeriesMark } from './constant';\n\nVChart.useMark([SymbolMark, TextMark, RuleMark, RectMark]);\n\nexport class DotSeries<T extends IDotSeriesSpec = IDotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.dot;\n type = SeriesTypeEnum.dot;\n\n static readonly mark: SeriesMarkMap = dotSeriesMark;\n\n protected declare _theme: Maybe<IDotSeriesTheme>;\n\n private _xDimensionStatisticsDomain: any[];\n\n // csj-Q: 是否需要把这些属性写成接口?\n protected _seriesGroupField?: string;\n getSeriesGroupField() {\n return this._seriesField;\n }\n setSeriesGroupField(field: string) {\n if (isValid(field)) {\n this._seriesGroupField = field;\n }\n }\n\n protected _titleField?: string;\n getTitleField() {\n return this._titleField;\n }\n setTitleField(field: string) {\n if (isValid(field)) {\n this._titleField = field;\n }\n }\n\n protected _subTitleField?: string;\n getSubTitleField() {\n return this._subTitleField;\n }\n setSubTitleField(field: string) {\n if (isValid(field)) {\n this._subTitleField = field;\n }\n }\n\n protected _dotTypeField?: string;\n getDotTypeField() {\n return this._dotTypeField;\n }\n setDotTypeField(field: string) {\n if (isValid(field)) {\n this._dotTypeField = field;\n }\n }\n\n protected _highLightSeriesGroup?: string;\n getHighLightSeriesGroup() {\n return this._highLightSeriesGroup;\n }\n setHighLightSeriesGroup(field: string) {\n if (isValid(field)) {\n this._highLightSeriesGroup = field;\n }\n }\n\n protected _gridBackground?: IFillMarkSpec;\n setGridBackground(gridBackground: IFillMarkSpec) {\n if (isValid(gridBackground)) {\n this._gridBackground = gridBackground;\n }\n }\n\n /**\n * @override\n */\n initData(): void {\n super.initData();\n this._xDimensionStatisticsDomain = this.getRawData().latestData.map((d: Datum) => d[this._fieldY[0]]);\n\n // data to dataview\n registerDataSetInstanceTransform(this._option.dataSet, 'objFlat', objFlat);\n registerDataSetInstanceTransform(this._option.dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceParser(this._option.dataSet, 'dataview', dataViewParser);\n\n this.getViewDataFilter()?.transform(\n {\n type: 'objFlat',\n options: 'dots'\n },\n false\n );\n }\n\n /**\n * @override\n */\n setSeriesField(field: string) {\n if (isValid(field)) {\n this._seriesField = field;\n this.getMarksInType([MarkTypeEnum.line, MarkTypeEnum.area]).forEach(m => {\n m.setFacet(this._seriesField);\n });\n }\n }\n\n getStatisticFields() {\n return [{ key: this._fieldY[0], operations: ['values'], customize: this._xDimensionStatisticsDomain }] as {\n key: string;\n operations: Array<'max' | 'min' | 'values'>;\n customize: any[];\n }[];\n }\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setSeriesGroupField(this._spec.seriesGroupField);\n this.setTitleField(this._spec.titleField);\n this.setSubTitleField(this._spec.subTitleField);\n this.setDotTypeField(this._spec.dotTypeField);\n this.setHighLightSeriesGroup(this._spec.highLightSeriesGroup);\n this.setGridBackground(mergeSpec(DEFAULT_GRID_BACKGROUND, this._spec?.grid?.background || {}));\n }\n\n private _clipMark: IGroupMark;\n private _containerMark: IGroupMark;\n private _gridBackgroundMark: IRectMark;\n private _gridMark: IRuleMark;\n private _dotMark: ISymbolMark;\n private _titleMark: ITextMark;\n private _subTitleMark: ITextMark;\n private _symbolMark: ISymbolMark;\n initMark(): void {\n this._clipMark = this._createMark(DotSeries.mark.group) as IGroupMark;\n\n this._containerMark = this._createMark(DotSeries.mark.group, {\n parent: this._clipMark,\n dataView: this.getRawData()\n }) as IGroupMark;\n\n this._gridBackgroundMark = this._createMark(DotSeries.mark.gridBackground, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRectMark;\n\n this._gridMark = this._createMark(DotSeries.mark.grid, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRuleMark;\n\n this._dotMark = this._createMark(DotSeries.mark.dot, {\n skipBeforeLayouted: false,\n isSeriesMark: true,\n parent: this._containerMark\n }) as ISymbolMark;\n\n this._titleMark = this._createMark(DotSeries.mark.title, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._subTitleMark = this._createMark(DotSeries.mark.subTitle, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._symbolMark = this._createMark(DotSeries.mark.symbol, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const clipMark = this._clipMark;\n if (clipMark) {\n this.setMarkStyle(\n clipMark,\n {\n x: -this._spec.leftAppendPadding,\n y: 0,\n // 本应使用this.getLayoutRect().width, 但这该返回值为0。考虑到横向不需要裁剪,故先采用一个较大值\n width: 10000,\n height: this._spec.clipHeight,\n clip: true\n },\n 'normal',\n AttributeLevel.Series\n );\n clipMark.setInteractive(false);\n }\n\n const containerMark = this._containerMark;\n if (containerMark) {\n this.setMarkStyle(\n containerMark,\n {\n x: this._spec.leftAppendPadding\n },\n 'normal',\n AttributeLevel.Series\n );\n containerMark.setInteractive(false);\n }\n\n const gridBackgroundMark = this._gridBackgroundMark;\n if (gridBackgroundMark) {\n this.setMarkStyle(\n gridBackgroundMark,\n {\n x: this.getRegionRectLeft.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y: this.dataToGridBackgroundPositionY.bind(this),\n y1: this.dataToGridBackgroundPositionY1.bind(this),\n fill: this._gridBackground.fill,\n fillOpacity: this.dataToGridBackgroundOpacity.bind(this) as FunctionType<number>\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridBackgroundMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const gridMark = this._gridMark;\n if (gridMark) {\n this.setMarkStyle(\n gridMark,\n {\n stroke: this.getColorAttribute(),\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y1: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const dotMark = this._dotMark;\n if (dotMark) {\n this.setMarkStyle(\n dotMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getDotColorAttribute(),\n fillOpacity: this.dataToOpacity.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(dotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(dotMark);\n }\n\n const titleMark = this._titleMark;\n if (titleMark) {\n this.setMarkStyle(\n titleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(titleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(titleMark);\n }\n\n const subTitleMark = this._subTitleMark;\n if (subTitleMark) {\n this.setMarkStyle(\n subTitleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getSubTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(subTitleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(subTitleMark);\n }\n\n const symbolMark = this._symbolMark;\n if (symbolMark) {\n this.setMarkStyle(\n symbolMark,\n {\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(symbolMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n }\n\n dataToGridBackgroundPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) -\n getBandwidth(0) / 2\n );\n }\n\n dataToGridBackgroundPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) / 2\n );\n }\n\n dataToOpacity(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getScale } = this._xAxisHelper;\n\n if (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) < getScale(0).range()[0] ||\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) > getScale(0).range()[1]\n ) {\n return 0;\n }\n return this._theme?.dot?.style?.fillOpacity ?? 1;\n }\n\n dataToGridBackgroundOpacity(datum: Datum): VisualType<number> {\n if (datum[this._seriesGroupField] === this._highLightSeriesGroup) {\n return this._gridBackground.fillOpacity;\n }\n return 0;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n const layoutOffsetX = this._spec?.leftAppendPadding ?? 0;\n this.setMarkStyle(\n this._clipMark,\n {\n width: this.getLayoutRect().width + layoutOffsetX //clip的数值只能在layoutEnd之后获得\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n /**\n * @override\n * @description 如果用户设置了seriesGroup,则seriesGroup作为颜色映射字段\n */\n getDefaultColorDomain() {\n return this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n /**\n * @override\n * @description 对于dot来说,dotType优先级高于seriesGroup,作为颜色映射字段\n */\n protected getDotColorScale() {\n const colorDomain = this._dotTypeField\n ? this._viewDataStatistics?.latestData[this._dotTypeField].values\n : this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n const colorRange = getDataScheme(this._option.getTheme().colorScheme, this.type);\n return new ColorOrdinalScale().domain(colorDomain).range(colorRange);\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getDotColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDotColorScale(),\n field: this._dotTypeField ?? this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n protected initTooltip() {\n this._tooltipHelper = new DotSeriesTooltipHelper(this);\n }\n\n /**\n * @description onEvaluateEnd之后可以拿到canvas element,将滚动条挂载到canvas element上\n */\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n }\n\n protected onMarkTreePositionUpdate(marks: IMark[]): void {\n marks.forEach(m => {\n if (m.type === 'group') {\n this.onMarkTreePositionUpdate((m as IGroupMark).getMarks());\n } else {\n m.updateLayoutState();\n }\n });\n }\n\n getDotData() {\n return this._dotMark?.getData();\n }\n\n protected _getDataIdKey() {\n // dot 系列没有动画,可以使用默认的 dataKey\n return undefined as any;\n }\n\n getStackValueField(): string {\n return null;\n }\n\n getActiveMarks(): IMark[] {\n return [this._dotMark];\n }\n}\n"]}
@@ -4,6 +4,7 @@ import type { IOrientType, Maybe, Datum, StringOrNumber } from '../../typings';
4
4
  import { SeriesTypeEnum } from '../interface';
5
5
  import type { IPolygonMark } from '../../mark/polygon/polygon';
6
6
  import { BaseSeries } from '../base/base-series';
7
+ import type { IMark } from '../../mark/interface';
7
8
  import { MarkTypeEnum } from '../../mark/interface';
8
9
  import type { ITextMark } from '../../mark/text';
9
10
  import type { IFunnelSeriesSpec, IFunnelSeriesTheme } from './interface';
@@ -92,4 +93,5 @@ export declare class FunnelSeries<T extends IFunnelSeriesSpec = IFunnelSeriesSpe
92
93
  private _isReverse;
93
94
  setValueFieldToStackOffsetSilhouette(): void;
94
95
  getDefaultShapeType(): string;
96
+ getActiveMarks(): IMark[];
95
97
  }
@@ -471,6 +471,9 @@ class FunnelSeries extends base_series_1.BaseSeries {
471
471
  getDefaultShapeType() {
472
472
  return "square";
473
473
  }
474
+ getActiveMarks() {
475
+ return [ this._funnelMark ];
476
+ }
474
477
  }
475
478
 
476
479
  exports.FunnelSeries = FunnelSeries, FunnelSeries.type = interface_1.SeriesTypeEnum.funnel,