@visactor/vchart 1.5.3 → 1.5.4

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 (69) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +187 -69
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/bar/bar.js +2 -1
  6. package/cjs/chart/bar/bar.js.map +1 -1
  7. package/cjs/chart/correlation/correlation.js.map +1 -1
  8. package/cjs/chart/range-column/range-column.js +2 -1
  9. package/cjs/chart/range-column/range-column.js.map +1 -1
  10. package/cjs/chart/stack.js +2 -1
  11. package/cjs/component/index.js +1 -2
  12. package/cjs/component/tooltip/handler/utils/common.js +14 -31
  13. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  14. package/cjs/constant/base.js +1 -2
  15. package/cjs/constant/waterfall.js +2 -1
  16. package/cjs/core/index.d.ts +1 -1
  17. package/cjs/core/index.js +1 -1
  18. package/cjs/core/index.js.map +1 -1
  19. package/cjs/data/transforms/funnel.js +2 -2
  20. package/cjs/data/transforms/funnel.js.map +1 -1
  21. package/cjs/series/bar/bar.d.ts +13 -2
  22. package/cjs/series/bar/bar.js +99 -13
  23. package/cjs/series/bar/bar.js.map +1 -1
  24. package/cjs/series/bar/constant.js +4 -0
  25. package/cjs/series/bar/constant.js.map +1 -1
  26. package/cjs/series/bar/interface.d.ts +2 -0
  27. package/cjs/series/bar/interface.js.map +1 -1
  28. package/cjs/series/interface/type.d.ts +2 -1
  29. package/cjs/series/interface/type.js +2 -1
  30. package/cjs/series/interface/type.js.map +1 -1
  31. package/cjs/series/range-column/range-column.js +8 -7
  32. package/cjs/series/range-column/range-column.js.map +1 -1
  33. package/cjs/series/waterfall/waterfall.js +4 -4
  34. package/cjs/series/waterfall/waterfall.js.map +1 -1
  35. package/cjs/theme/builtin/common/mark.js +10 -0
  36. package/cjs/theme/builtin/common/mark.js.map +1 -1
  37. package/esm/chart/bar/bar.js +2 -1
  38. package/esm/chart/bar/bar.js.map +1 -1
  39. package/esm/chart/correlation/correlation.js.map +1 -1
  40. package/esm/chart/range-column/range-column.js +2 -1
  41. package/esm/chart/range-column/range-column.js.map +1 -1
  42. package/esm/chart/stack.js +2 -1
  43. package/esm/component/index.js +1 -2
  44. package/esm/component/tooltip/handler/utils/common.js +15 -32
  45. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  46. package/esm/constant/base.js +1 -2
  47. package/esm/constant/waterfall.js +2 -1
  48. package/esm/core/index.d.ts +1 -1
  49. package/esm/core/index.js +1 -1
  50. package/esm/core/index.js.map +1 -1
  51. package/esm/data/transforms/funnel.js +1 -1
  52. package/esm/data/transforms/funnel.js.map +1 -1
  53. package/esm/series/bar/bar.d.ts +13 -2
  54. package/esm/series/bar/bar.js +108 -12
  55. package/esm/series/bar/bar.js.map +1 -1
  56. package/esm/series/bar/constant.js +4 -0
  57. package/esm/series/bar/constant.js.map +1 -1
  58. package/esm/series/bar/interface.d.ts +2 -0
  59. package/esm/series/bar/interface.js.map +1 -1
  60. package/esm/series/interface/type.d.ts +2 -1
  61. package/esm/series/interface/type.js +2 -1
  62. package/esm/series/interface/type.js.map +1 -1
  63. package/esm/series/range-column/range-column.js +8 -7
  64. package/esm/series/range-column/range-column.js.map +1 -1
  65. package/esm/series/waterfall/waterfall.js +4 -4
  66. package/esm/series/waterfall/waterfall.js.map +1 -1
  67. package/esm/theme/builtin/common/mark.js +10 -0
  68. package/esm/theme/builtin/common/mark.js.map +1 -1
  69. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/bar/bar.ts"],"names":[],"mappings":"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","file":"bar.js","sourcesContent":["import { PREFIX } from './../../constant/index';\n/* eslint-disable no-duplicate-imports */\nimport { isContinuous } from '@visactor/vscale';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, DirectionType } from '../../typings';\nimport { mergeSpec, valueInScaleRange, getActualNumValue, getRegionStackGroup } from '../../util';\nimport { registerBarAnimation, type BarAppearPreset, type IBarAnimationParams } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { IModelInitOption } from '../../model/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface/type';\nimport { SeriesTypeEnum } from '../interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { RectMark } from '../../mark/rect';\nimport { array, isValid, last } from '@visactor/vutils';\nimport { barSeriesMark } from './constant';\nimport { stackWithMinHeight } from '../util/stack';\nimport { Factory } from '../../core/factory';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\nconst RECT_X = `${PREFIX}_rect_x`;\nconst RECT_X1 = `${PREFIX}_rect_x1`;\nconst RECT_Y = `${PREFIX}_rect_y`;\nconst RECT_Y1 = `${PREFIX}_rect_y1`;\n\nexport class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.bar;\n type = SeriesTypeEnum.bar;\n protected _barMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.bar;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n\n static readonly mark: SeriesMarkMap = barSeriesMark;\n\n protected declare _theme: Maybe<IBarSeriesTheme>;\n\n protected _supportStack: boolean = true;\n protected _bandPosition = 0;\n protected _rectMark!: IRectMark;\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._rectMark = this._createMark(\n {\n ...BarSeries.mark.bar,\n name: this._barMarkName,\n type: this._barMarkType\n },\n {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig(this.type, this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true,\n label: mergeSpec({ animation: this._spec.animation }, this._spec.label),\n progressive\n }\n ) as IRectMark;\n }\n\n initMarkStyle(): void {\n const rectMark = this._rectMark;\n if (rectMark) {\n this.setMarkStyle(\n rectMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(rectMark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._rectMark && this._tooltipHelper.activeTriggerSet.mark.add(this._rectMark);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n if (this.direction === 'vertical') {\n this._xAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n } else {\n this._yAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n }\n }\n\n private _shouldDoPreCalculate() {\n const region = this.getRegion();\n return (\n this._stack && region.getSeries().filter(s => s.type === SeriesTypeEnum.bar && s.getSpec().barMinHeight).length\n );\n }\n\n private _calculateStackRectPosition(isVertical: boolean) {\n const region = this.getRegion();\n\n // @ts-ignore\n if (region._bar_series_position_calculated) {\n return;\n }\n // @ts-ignore\n region._bar_series_position_calculated = true; // 因为是 region 内堆叠矩形的计算,所以加一个 hack 标识位用于避免重复计算\n let start: string;\n let end: string;\n let startMethod: string;\n let endMethod: string;\n let axisHelper: string;\n if (isVertical) {\n start = RECT_Y1;\n end = RECT_Y;\n startMethod = 'dataToPositionY1';\n endMethod = 'dataToPositionY';\n axisHelper = '_yAxisHelper';\n } else {\n start = RECT_X1;\n end = RECT_X;\n startMethod = 'dataToPositionX1';\n endMethod = 'dataToPositionX';\n axisHelper = '_xAxisHelper';\n }\n\n // only reCompute bar\n const stackValueGroup = getRegionStackGroup(region, false, s => s.type === SeriesTypeEnum.bar);\n\n // 按照堆积逻辑 重新计算一次图形的堆积位置并设置到数据上\n for (const stackValue in stackValueGroup) {\n for (const key in stackValueGroup[stackValue].nodes) {\n stackWithMinHeight(stackValueGroup[stackValue].nodes[key], region.getStackInverse(), {\n isVertical,\n start,\n end,\n startMethod,\n endMethod,\n axisHelper\n });\n }\n }\n }\n\n private _calculateRectPosition(datum: Datum, isVertical: boolean) {\n let startMethod: string;\n let endMethod: string;\n let axisHelper: string;\n if (isVertical) {\n startMethod = 'dataToPositionY1';\n endMethod = 'dataToPositionY';\n axisHelper = '_yAxisHelper';\n } else {\n startMethod = 'dataToPositionX1';\n endMethod = 'dataToPositionX';\n axisHelper = '_xAxisHelper';\n }\n\n const seriesScale = this[axisHelper].getScale?.(0);\n const inverse = this[axisHelper].isInverse();\n const barMinHeight = this._spec.barMinHeight;\n const y1 = valueInScaleRange(this[startMethod](datum), seriesScale);\n const y = valueInScaleRange(this[endMethod](datum), seriesScale);\n\n let height = Math.abs(y1 - y);\n if (height < barMinHeight) {\n height = barMinHeight;\n }\n\n let flag = 1;\n if (y < y1) {\n flag = -1;\n } else if (y === y1) {\n flag = isVertical ? (inverse ? 1 : -1) : inverse ? -1 : 1;\n }\n return y1 + flag * height;\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n\n // guess the direction which the user want\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n return datum[RECT_X];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, false);\n }\n\n return valueInScaleRange(this.dataToPositionX(datum), xScale);\n },\n x1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n return datum[RECT_X1];\n }\n\n return valueInScaleRange(this.dataToPositionX1(datum), xScale);\n },\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum, ctx, opt, dataView) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, true);\n }\n\n return valueInScaleRange(this.dataToPositionY(datum), yScale);\n },\n y1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y1];\n }\n return valueInScaleRange(this.dataToPositionY1(datum), yScale);\n },\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initLinearRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n\n if (this.direction === Direction.vertical) {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), xScale),\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX1(datum), xScale),\n y: (datum: Datum, ctx, opt, dataView) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, true);\n }\n\n return valueInScaleRange(this.dataToPositionY(datum), yScale);\n },\n y1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y1];\n }\n return valueInScaleRange(this.dataToPositionY1(datum), yScale);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n\n return datum[RECT_X];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, false);\n }\n\n return valueInScaleRange(this.dataToPositionX(datum), xScale);\n },\n x1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n return datum[RECT_X1];\n }\n return valueInScaleRange(this.dataToPositionX1(datum), xScale);\n },\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), yScale),\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY1(datum), yScale)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this._fieldY[0],\n xField: this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<BarAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('bar')?.(animationParams, appearPreset),\n userAnimationConfig(this._barMarkName, this._spec),\n { dataIndex }\n )\n );\n }\n\n protected _getBarWidth(axisHelper: IAxisHelper) {\n const hasBarWidth = this._spec.barWidth !== undefined;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n\n if (hasBarWidth) {\n return getActualNumValue(this._spec.barWidth, bandWidth);\n }\n const hasBarMinWidth = this._spec.barMinWidth !== undefined;\n const hasBarMaxWidth = this._spec.barMaxWidth !== undefined;\n let width = bandWidth;\n if (hasBarMinWidth) {\n width = Math.max(width, getActualNumValue(this._spec.barMinWidth, bandWidth));\n }\n if (hasBarMaxWidth) {\n width = Math.min(width, getActualNumValue(this._spec.barMaxWidth, bandWidth));\n }\n return width;\n }\n\n protected _getPosition(direction: DirectionType, datum: Datum) {\n let axisHelper;\n let sizeAttribute;\n let dataToPosition;\n if (direction === Direction.horizontal) {\n axisHelper = this.getYAxisHelper();\n sizeAttribute = 'height';\n dataToPosition = this.dataToPositionY.bind(this);\n } else {\n axisHelper = this.getXAxisHelper();\n sizeAttribute = 'width';\n dataToPosition = this.dataToPositionX.bind(this);\n }\n const scale = axisHelper.getScale(0);\n const size = this._rectMark.getAttribute(sizeAttribute, datum) as number;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n if (this._groups?.fields?.length > 1 && isValid(this._spec.barGapInGroup)) {\n // 自里向外计算,沿着第一层分组的中心点进行位置调整\n const groupFields = this._groups.fields;\n const barInGroup = array(this._spec.barGapInGroup);\n let totalWidth: number = 0;\n let offSet: number = 0;\n\n for (let index = groupFields.length - 1; index >= 1; index--) {\n const groupField = groupFields[index];\n const groupValues = this.getViewDataStatistics()?.latestData?.[groupField]?.values ?? [];\n const groupCount = groupValues.length;\n const gap = getActualNumValue(barInGroup[index - 1] ?? last(barInGroup), bandWidth);\n const i = groupValues.indexOf(datum[groupField]);\n if (index === groupFields.length - 1) {\n totalWidth += groupCount * size + (groupCount - 1) * gap;\n offSet += i * (size + gap);\n } else {\n offSet += i * (totalWidth + gap);\n totalWidth += totalWidth + (groupCount - 1) * gap;\n }\n }\n\n const center = scale.scale(datum[groupFields[0]]) + axisHelper.getBandwidth(0) / 2;\n return center - totalWidth / 2 + offSet;\n }\n\n const continuous = isContinuous(scale.type || 'band');\n const pos = dataToPosition(datum);\n return pos + (bandWidth - size) * 0.5 + (continuous ? -bandWidth / 2 : 0);\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n const region = this.getRegion();\n // @ts-ignore\n region._bar_series_position_calculated = false;\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._rectMark];\n }\n}\n\nexport const registerBarSeries = () => {\n Factory.registerMark(RectMark.type, RectMark);\n Factory.registerSeries(BarSeries.type, BarSeries);\n registerBarAnimation();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/bar/bar.ts"],"names":[],"mappings":"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","file":"bar.js","sourcesContent":["import { PREFIX } from './../../constant/index';\n/* eslint-disable no-duplicate-imports */\nimport { isContinuous } from '@visactor/vscale';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { IMark, IMarkProgressiveConfig } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum, DirectionType } from '../../typings';\nimport { mergeSpec, valueInScaleRange, getActualNumValue, getRegionStackGroup } from '../../util';\nimport { registerBarAnimation, type BarAppearPreset, type IBarAnimationParams } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { IModelInitOption } from '../../model/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface/type';\nimport { SeriesTypeEnum } from '../interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { RectMark } from '../../mark/rect';\nimport { array, isValid, last } from '@visactor/vutils';\nimport { barSeriesMark } from './constant';\nimport { stackWithMinHeight } from '../util/stack';\nimport { Factory } from '../../core/factory';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SeriesData } from '../base/series-data';\nimport { DataView } from '@visactor/vdataset';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\nconst RECT_X = `${PREFIX}_rect_x`;\nconst RECT_X1 = `${PREFIX}_rect_x1`;\nconst RECT_Y = `${PREFIX}_rect_y`;\nconst RECT_Y1 = `${PREFIX}_rect_y1`;\n\nexport class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.bar;\n type = SeriesTypeEnum.bar;\n protected _barMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.bar;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n\n static readonly mark: SeriesMarkMap = barSeriesMark;\n\n protected declare _theme: Maybe<IBarSeriesTheme>;\n\n protected _supportStack: boolean = true;\n protected _bandPosition = 0;\n protected _barMark!: IRectMark;\n protected _barBackgroundMark!: IRectMark;\n\n protected _barBackgroundViewData: SeriesData;\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._initBarBackgroundMark(progressive);\n\n this._barMark = this._createMark(\n {\n ...BarSeries.mark.bar,\n name: this._barMarkName,\n type: this._barMarkType\n },\n {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig(this.type, this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n isSeriesMark: true,\n label: mergeSpec({ animation: this._spec.animation }, this._spec.label),\n progressive\n }\n ) as IRectMark;\n }\n\n protected _initBarBackgroundMark(progressive?: IMarkProgressiveConfig): void {\n if (this._spec.barBackground?.visible) {\n this._barBackgroundMark = this._createMark(BarSeries.mark.barBackground, {\n dataView: this._barBackgroundViewData.getDataView(),\n dataProductId: this._barBackgroundViewData.getProductId(),\n progressive\n }) as IRectMark;\n }\n }\n\n initMarkStyle(): void {\n if (this._barMark) {\n this.setMarkStyle(\n this._barMark,\n {\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(this._barMark);\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._barMark && this._tooltipHelper.activeTriggerSet.mark.add(this._barMark);\n }\n\n protected _statisticViewData(): void {\n super._statisticViewData();\n\n if (!this._spec.barBackground?.visible) {\n return;\n }\n\n /**\n * @description 准备 barBackground 数据\n */\n const dimensionItems = ([data]: DataView[], op: string) => {\n let dataCollect: any[] = [{}];\n const fields = this.getDimensionField();\n // 将维度轴的所有层级 field 的对应数据做笛卡尔积\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i];\n const values = data.latestData[field]?.values;\n if (!values?.length) {\n continue;\n }\n const newDataCollect: any[] = [];\n for (let j = 0; j < values.length; j++) {\n for (let k = 0; k < dataCollect.length; k++) {\n newDataCollect.push({\n ...dataCollect[k],\n [field]: values[j]\n });\n }\n }\n dataCollect = newDataCollect;\n }\n return dataCollect;\n };\n\n registerDataSetInstanceTransform(this._option.dataSet, 'addVChartProperty', addVChartProperty);\n registerDataSetInstanceTransform(this._option.dataSet, 'dimensionItems', dimensionItems);\n\n const barBackgroundData = new DataView(this._option.dataSet)\n .parse([this._viewDataStatistics], {\n type: 'dataview'\n })\n .transform(\n {\n type: 'dimensionItems'\n },\n false\n )\n .transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addDataKey.bind(this)\n }\n },\n false\n );\n\n this._viewDataStatistics?.target.addListener('change', barBackgroundData.reRunAllTransform);\n this._barBackgroundViewData = new SeriesData(this._option, barBackgroundData);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n if (this.direction === 'vertical') {\n this._xAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n } else {\n this._yAxisHelper?.getScale(0).type === 'band' ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();\n }\n }\n\n private _shouldDoPreCalculate() {\n const region = this.getRegion();\n return (\n this._stack && region.getSeries().filter(s => s.type === SeriesTypeEnum.bar && s.getSpec().barMinHeight).length\n );\n }\n\n private _calculateStackRectPosition(isVertical: boolean) {\n const region = this.getRegion();\n\n // @ts-ignore\n if (region._bar_series_position_calculated) {\n return;\n }\n // @ts-ignore\n region._bar_series_position_calculated = true; // 因为是 region 内堆叠矩形的计算,所以加一个 hack 标识位用于避免重复计算\n let start: string;\n let end: string;\n let startMethod: string;\n let endMethod: string;\n let axisHelper: string;\n if (isVertical) {\n start = RECT_Y1;\n end = RECT_Y;\n startMethod = 'dataToPositionY1';\n endMethod = 'dataToPositionY';\n axisHelper = '_yAxisHelper';\n } else {\n start = RECT_X1;\n end = RECT_X;\n startMethod = 'dataToPositionX1';\n endMethod = 'dataToPositionX';\n axisHelper = '_xAxisHelper';\n }\n\n // only reCompute bar\n const stackValueGroup = getRegionStackGroup(region, false, s => s.type === SeriesTypeEnum.bar);\n\n // 按照堆积逻辑 重新计算一次图形的堆积位置并设置到数据上\n for (const stackValue in stackValueGroup) {\n for (const key in stackValueGroup[stackValue].nodes) {\n stackWithMinHeight(stackValueGroup[stackValue].nodes[key], region.getStackInverse(), {\n isVertical,\n start,\n end,\n startMethod,\n endMethod,\n axisHelper\n });\n }\n }\n }\n\n private _calculateRectPosition(datum: Datum, isVertical: boolean) {\n let startMethod: string;\n let endMethod: string;\n let axisHelper: string;\n if (isVertical) {\n startMethod = 'dataToPositionY1';\n endMethod = 'dataToPositionY';\n axisHelper = '_yAxisHelper';\n } else {\n startMethod = 'dataToPositionX1';\n endMethod = 'dataToPositionX';\n axisHelper = '_xAxisHelper';\n }\n\n const seriesScale = this[axisHelper].getScale?.(0);\n const inverse = this[axisHelper].isInverse();\n const barMinHeight = this._spec.barMinHeight;\n const y1 = valueInScaleRange(this[startMethod](datum), seriesScale);\n const y = valueInScaleRange(this[endMethod](datum), seriesScale);\n\n let height = Math.abs(y1 - y);\n if (height < barMinHeight) {\n height = barMinHeight;\n }\n\n let flag = 1;\n if (y < y1) {\n flag = -1;\n } else if (y === y1) {\n flag = isVertical ? (inverse ? 1 : -1) : inverse ? -1 : 1;\n }\n return y1 + flag * height;\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n\n // guess the direction which the user want\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._barMark,\n {\n x: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n return datum[RECT_X];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, false);\n }\n\n return valueInScaleRange(this.dataToPositionX(datum), xScale);\n },\n x1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n return datum[RECT_X1];\n }\n\n return valueInScaleRange(this.dataToPositionX1(datum), xScale);\n },\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._barMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum, ctx, opt, dataView) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, true);\n }\n\n return valueInScaleRange(this.dataToPositionY(datum), yScale);\n },\n y1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y1];\n }\n return valueInScaleRange(this.dataToPositionY1(datum), yScale);\n },\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._initBarBackgroundMarkStyle();\n }\n\n protected _initBarBackgroundMarkStyle() {\n if (!this._barBackgroundMark) {\n return;\n }\n\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n\n // guess the direction which the user want\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._barBackgroundMark,\n {\n x: () => {\n const range = xScale.range();\n const min = Math.min(range[0], range[range.length - 1]);\n return min;\n },\n x1: () => {\n const range = xScale.range();\n const max = Math.max(range[0], range[range.length - 1]);\n return max;\n },\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._barBackgroundMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: () => {\n const range = yScale.range();\n const min = Math.min(range[0], range[range.length - 1]);\n return min;\n },\n y1: () => {\n const range = yScale.range();\n const max = Math.max(range[0], range[range.length - 1]);\n return max;\n },\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initLinearRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n\n if (this.direction === Direction.vertical) {\n this.setMarkStyle(\n this._barMark,\n {\n x: (datum: Datum) => valueInScaleRange(this.dataToPositionX(datum), xScale),\n x1: (datum: Datum) => valueInScaleRange(this.dataToPositionX1(datum), xScale),\n y: (datum: Datum, ctx, opt, dataView) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, true);\n }\n\n return valueInScaleRange(this.dataToPositionY(datum), yScale);\n },\n y1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(true);\n return datum[RECT_Y1];\n }\n return valueInScaleRange(this.dataToPositionY1(datum), yScale);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._barMark,\n {\n x: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n\n return datum[RECT_X];\n }\n\n if (this._spec.barMinHeight) {\n return this._calculateRectPosition(datum, false);\n }\n\n return valueInScaleRange(this.dataToPositionX(datum), xScale);\n },\n x1: (datum: Datum) => {\n if (this._shouldDoPreCalculate()) {\n this._calculateStackRectPosition(false);\n return datum[RECT_X1];\n }\n return valueInScaleRange(this.dataToPositionX1(datum), xScale);\n },\n y: (datum: Datum) => valueInScaleRange(this.dataToPositionY(datum), yScale),\n y1: (datum: Datum) => valueInScaleRange(this.dataToPositionY1(datum), yScale)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this._fieldY[0],\n xField: this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<BarAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._barMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('bar')?.(animationParams, appearPreset),\n userAnimationConfig(this._barMarkName, this._spec),\n { dataIndex }\n )\n );\n }\n\n protected _getBarWidth(axisHelper: IAxisHelper) {\n const hasBarWidth = this._spec.barWidth !== undefined;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n\n if (hasBarWidth) {\n return getActualNumValue(this._spec.barWidth, bandWidth);\n }\n const hasBarMinWidth = this._spec.barMinWidth !== undefined;\n const hasBarMaxWidth = this._spec.barMaxWidth !== undefined;\n let width = bandWidth;\n if (hasBarMinWidth) {\n width = Math.max(width, getActualNumValue(this._spec.barMinWidth, bandWidth));\n }\n if (hasBarMaxWidth) {\n width = Math.min(width, getActualNumValue(this._spec.barMaxWidth, bandWidth));\n }\n return width;\n }\n\n protected _getPosition(direction: DirectionType, datum: Datum) {\n let axisHelper;\n let sizeAttribute;\n let dataToPosition;\n if (direction === Direction.horizontal) {\n axisHelper = this.getYAxisHelper();\n sizeAttribute = 'height';\n dataToPosition = this.dataToPositionY.bind(this);\n } else {\n axisHelper = this.getXAxisHelper();\n sizeAttribute = 'width';\n dataToPosition = this.dataToPositionX.bind(this);\n }\n const scale = axisHelper.getScale(0);\n const size = this._barMark.getAttribute(sizeAttribute, datum) as number;\n const bandWidth = axisHelper.getBandwidth?.(this._groups ? this._groups.fields.length - 1 : 0) ?? DefaultBandWidth;\n if (this._groups?.fields?.length > 1 && isValid(this._spec.barGapInGroup)) {\n // 自里向外计算,沿着第一层分组的中心点进行位置调整\n const groupFields = this._groups.fields;\n const barInGroup = array(this._spec.barGapInGroup);\n let totalWidth: number = 0;\n let offSet: number = 0;\n\n for (let index = groupFields.length - 1; index >= 1; index--) {\n const groupField = groupFields[index];\n const groupValues = this.getViewDataStatistics()?.latestData?.[groupField]?.values ?? [];\n const groupCount = groupValues.length;\n const gap = getActualNumValue(barInGroup[index - 1] ?? last(barInGroup), bandWidth);\n const i = groupValues.indexOf(datum[groupField]);\n if (index === groupFields.length - 1) {\n totalWidth += groupCount * size + (groupCount - 1) * gap;\n offSet += i * (size + gap);\n } else {\n offSet += i * (totalWidth + gap);\n totalWidth += totalWidth + (groupCount - 1) * gap;\n }\n }\n\n const center = scale.scale(datum[groupFields[0]]) + axisHelper.getBandwidth(0) / 2;\n return center - totalWidth / 2 + offSet;\n }\n\n const continuous = isContinuous(scale.type || 'band');\n const pos = dataToPosition(datum);\n return pos + (bandWidth - size) * 0.5 + (continuous ? -bandWidth / 2 : 0);\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n const region = this.getRegion();\n // @ts-ignore\n region._bar_series_position_calculated = false;\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._barMark];\n }\n\n compileData() {\n super.compileData();\n this._barBackgroundViewData?.compile();\n }\n\n fillData() {\n super.fillData();\n this._barBackgroundViewData?.getDataView()?.reRunAllTransform();\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._barBackgroundViewData?.getDataView()?.reRunAllTransform();\n this._barBackgroundViewData?.updateData();\n }\n\n release() {\n super.release();\n this._barBackgroundViewData?.release();\n this._barBackgroundViewData = null;\n }\n}\n\nexport const registerBarSeries = () => {\n Factory.registerMark(RectMark.type, RectMark);\n Factory.registerSeries(BarSeries.type, BarSeries);\n registerBarAnimation();\n};\n"]}
@@ -10,6 +10,10 @@ exports.barSeriesMark = Object.assign(Object.assign({}, constant_1.baseSeriesMar
10
10
  [type_1.SeriesMarkNameEnum.bar]: {
11
11
  name: type_1.SeriesMarkNameEnum.bar,
12
12
  type: interface_1.MarkTypeEnum.rect
13
+ },
14
+ [type_1.SeriesMarkNameEnum.barBackground]: {
15
+ name: type_1.SeriesMarkNameEnum.barBackground,
16
+ type: interface_1.MarkTypeEnum.rect
13
17
  }
14
18
  }), exports.bar3dSeriesMark = Object.assign(Object.assign({}, constant_1.baseSeriesMark), {
15
19
  [type_1.SeriesMarkNameEnum.bar3d]: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/bar/constant.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,+CAAkD;AAElD,4CAAuD;AAE1C,QAAA,aAAa,mCACrB,yBAAc,KACjB,CAAC,yBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,IACnF;AAEW,QAAA,eAAe,mCACvB,yBAAc,KACjB,CAAC,yBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAY,CAAC,MAAM,EAAE,IACzF","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { SeriesMarkMap } from '../interface/common';\nimport { SeriesMarkNameEnum } from '../interface/type';\n\nexport const barSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n [SeriesMarkNameEnum.bar]: { name: SeriesMarkNameEnum.bar, type: MarkTypeEnum.rect }\n};\n\nexport const bar3dSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n [SeriesMarkNameEnum.bar3d]: { name: SeriesMarkNameEnum.bar3d, type: MarkTypeEnum.rect3d }\n};\n"]}
1
+ {"version":3,"sources":["../src/series/bar/constant.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,+CAAkD;AAElD,4CAAuD;AAE1C,QAAA,aAAa,mCACrB,yBAAc,KACjB,CAAC,yBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,EACnF,CAAC,yBAAkB,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,aAAa,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,IACvG;AAEW,QAAA,eAAe,mCACvB,yBAAc,KACjB,CAAC,yBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAY,CAAC,MAAM,EAAE,IACzF","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { SeriesMarkMap } from '../interface/common';\nimport { SeriesMarkNameEnum } from '../interface/type';\n\nexport const barSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n [SeriesMarkNameEnum.bar]: { name: SeriesMarkNameEnum.bar, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.barBackground]: { name: SeriesMarkNameEnum.barBackground, type: MarkTypeEnum.rect }\n};\n\nexport const bar3dSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n [SeriesMarkNameEnum.bar3d]: { name: SeriesMarkNameEnum.bar3d, type: MarkTypeEnum.rect3d }\n};\n"]}
@@ -12,6 +12,7 @@ export interface IBarSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<Bar
12
12
  xField: string | string[];
13
13
  yField: string | string[];
14
14
  [SeriesMarkNameEnum.bar]?: IMarkSpec<IRectMarkSpec>;
15
+ [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec>;
15
16
  [SeriesMarkNameEnum.label]?: ILabelSpec & {
16
17
  position?: 'outside' | 'top' | 'bottom' | 'left' | 'right' | 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left';
17
18
  };
@@ -23,6 +24,7 @@ export interface IBarSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<Bar
23
24
  }
24
25
  export interface IBarSeriesTheme extends ICartesianSeriesTheme {
25
26
  [SeriesMarkNameEnum.bar]?: Partial<IMarkTheme<IRectMarkSpec>>;
27
+ [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec>;
26
28
  barWidth?: number;
27
29
  barMinWidth?: number;
28
30
  barMaxWidth?: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/bar/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IRect3dMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { BarAppearPreset } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface/type';\n\ntype BarMarks = 'bar';\n\nexport interface IBarSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<BarMarks, BarAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'bar';\n /**\n * x轴字段\n */\n xField: string | string[];\n /**\n * y轴字段\n */\n yField: string | string[];\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.bar]?: IMarkSpec<IRectMarkSpec>;\n /** 标签配置*/\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 标签位置 */\n position?:\n | 'outside'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'inside'\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-right'\n | 'inside-left';\n };\n /**\n * 柱体宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barWidth?: number | string;\n /**\n * 柱体最小宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMinWidth?: number | string;\n /**\n * 柱体最大宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMaxWidth?: number | string;\n /**\n * 分组柱图中各个分组内的柱子间距,可以设置绝对的像素值,也可以使用百分比(如 '10%')。\n * 当存在多层分组时,可以使用数组来设置不同层级的间距,如 [10, '20%'],表示第一层分组的间距为 10px,第二层分组的间距为 '20%'。\n * 如果 barGapInGroup 的数组个数小于分组层数,则后面的分组间距使用最后一个值。\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n * @since 1.2.0\n */\n barGapInGroup?: number | string | (number | string)[];\n\n /**\n * 柱条最小高度,可用于防止某数据项的值过小的视觉调整。\n * @since 1.4.0\n */\n barMinHeight?: number;\n}\n\nexport interface IBarSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar]?: Partial<IMarkTheme<IRectMarkSpec>>;\n /**\n * 柱体宽度\n */\n barWidth?: number;\n /**\n * 柱体最小宽度\n */\n barMinWidth?: number;\n /**\n * 柱体最大宽度\n */\n barMaxWidth?: number;\n}\n\nexport type IBar3dSeriesSpec = {\n type: 'bar3d';\n} & Omit<IBarSeriesSpec, 'type'> &\n ICartesianSeriesSpec &\n IAnimationSpec<BarMarks, BarAppearPreset>;\n\nexport interface IBar3dSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar3d]?: Partial<IMarkTheme<IRect3dMarkSpec>>;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/bar/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IRect3dMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { BarAppearPreset } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface/type';\n\ntype BarMarks = 'bar';\n\nexport interface IBarSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<BarMarks, BarAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'bar';\n /**\n * x轴字段\n */\n xField: string | string[];\n /**\n * y轴字段\n */\n yField: string | string[];\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.bar]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 柱状背景图元\n * @since 1.6.0\n */\n [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec>;\n /** 标签配置*/\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 标签位置 */\n position?:\n | 'outside'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'inside'\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-right'\n | 'inside-left';\n };\n /**\n * 柱体宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barWidth?: number | string;\n /**\n * 柱体最小宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMinWidth?: number | string;\n /**\n * 柱体最大宽度,可以设置绝对的像素值,也可以使用百分比(如 '10%')\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n */\n barMaxWidth?: number | string;\n /**\n * 分组柱图中各个分组内的柱子间距,可以设置绝对的像素值,也可以使用百分比(如 '10%')。\n * 当存在多层分组时,可以使用数组来设置不同层级的间距,如 [10, '20%'],表示第一层分组的间距为 10px,第二层分组的间距为 '20%'。\n * 如果 barGapInGroup 的数组个数小于分组层数,则后面的分组间距使用最后一个值。\n * 1. number 类型,表示像素值\n * 2. string 类型,百分比用法,如 '10%',该值为对应最后一个分组字段对应的 scale 的 bandWidth 占比(因为柱子是等宽的,所以采用最后一层分组的 scale)\n * @since 1.2.0\n */\n barGapInGroup?: number | string | (number | string)[];\n\n /**\n * 柱条最小高度,可用于防止某数据项的值过小的视觉调整。\n * @since 1.4.0\n */\n barMinHeight?: number;\n}\n\nexport interface IBarSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar]?: Partial<IMarkTheme<IRectMarkSpec>>;\n /**\n * 柱状背景图元\n * @since 1.6.0\n */\n [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 柱体宽度\n */\n barWidth?: number;\n /**\n * 柱体最小宽度\n */\n barMinWidth?: number;\n /**\n * 柱体最大宽度\n */\n barMaxWidth?: number;\n}\n\nexport type IBar3dSeriesSpec = {\n type: 'bar3d';\n} & Omit<IBarSeriesSpec, 'type'> &\n ICartesianSeriesSpec &\n IAnimationSpec<BarMarks, BarAppearPreset>;\n\nexport interface IBar3dSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.bar3d]?: Partial<IMarkTheme<IRect3dMarkSpec>>;\n}\n"]}
@@ -85,6 +85,7 @@ export declare enum SeriesMarkNameEnum {
85
85
  nodePoint = "nodePoint",
86
86
  ripplePoint = "ripplePoint",
87
87
  centerPoint = "centerPoint",
88
- centerLabel = "centerLabel"
88
+ centerLabel = "centerLabel",
89
+ barBackground = "barBackground"
89
90
  }
90
91
  export declare const seriesMarkNameSet: Set<string>;
@@ -40,7 +40,8 @@ function(SeriesTypeEnum) {
40
40
  SeriesMarkNameEnum.leaderLine = "leaderLine", SeriesMarkNameEnum.stackLabel = "stackLabel",
41
41
  SeriesMarkNameEnum.word = "word", SeriesMarkNameEnum.fillingWord = "fillingWord",
42
42
  SeriesMarkNameEnum.nodePoint = "nodePoint", SeriesMarkNameEnum.ripplePoint = "ripplePoint",
43
- SeriesMarkNameEnum.centerPoint = "centerPoint", SeriesMarkNameEnum.centerLabel = "centerLabel";
43
+ SeriesMarkNameEnum.centerPoint = "centerPoint", SeriesMarkNameEnum.centerLabel = "centerLabel",
44
+ SeriesMarkNameEnum.barBackground = "barBackground";
44
45
  }(SeriesMarkNameEnum = exports.SeriesMarkNameEnum || (exports.SeriesMarkNameEnum = {})),
45
46
  exports.seriesMarkNameSet = new Set(Object.values(SeriesMarkNameEnum));
46
47
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAY,cAiCX;AAjCD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,qCAAmB,CAAA;IACnB,uDAAqC,CAAA;IACrC,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,mDAAiC,CAAA;IACjC,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,6CAA2B,CAAA;AAC7B,CAAC,EAjCW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAiCzB;AAED,IAAY,kBAqDX;AArDD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;AAC7B,CAAC,EArDW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAqD7B;AAEY,QAAA,iBAAiB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC","file":"type.js","sourcesContent":["export type SeriesType = keyof typeof SeriesTypeEnum | string;\n\nexport enum SeriesTypeEnum {\n area = 'area',\n line = 'line',\n bar = 'bar',\n bar3d = 'bar3d',\n rangeColumn = 'rangeColumn',\n rangeColumn3d = 'rangeColumn3d',\n rangeArea = 'rangeArea',\n dot = 'dot',\n geo = 'geo',\n link = 'link',\n map = 'map',\n pie = 'pie',\n pie3d = 'pie3d',\n radar = 'radar',\n rose = 'rose',\n scatter = 'scatter',\n circularProgress = 'circularProgress',\n wordCloud = 'wordCloud',\n wordCloud3d = 'wordCloud3d',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n linearProgress = 'linearProgress',\n boxPlot = 'boxPlot',\n sankey = 'sankey',\n gaugePointer = 'gaugePointer',\n gauge = 'gauge',\n treemap = 'treemap',\n sunburst = 'sunburst',\n circlePacking = 'circlePacking',\n waterfall = 'waterfall',\n heatmap = 'heatmap',\n correlation = 'correlation'\n}\n\nexport enum SeriesMarkNameEnum {\n label = 'label',\n point = 'point',\n line = 'line',\n area = 'area',\n bar = 'bar',\n bar3d = 'bar3d',\n boxPlot = 'boxPlot',\n outlier = 'outlier',\n circlePacking = 'circlePacking',\n group = 'group',\n gridBackground = 'gridBackground',\n grid = 'grid',\n dot = 'dot',\n title = 'title',\n subTitle = 'subTitle',\n symbol = 'symbol',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n transform = 'transform',\n transform3d = 'transform3d',\n transformLabel = 'transformLabel',\n outerLabel = 'outerLabel',\n outerLabelLine = 'outerLabelLine',\n pin = 'pin',\n pinBackground = 'pinBackground',\n pointer = 'pointer',\n segment = 'segment',\n track = 'track',\n cell = 'cell',\n cellBackground = 'cellBackground',\n link = 'link',\n arrow = 'arrow',\n pie = 'pie',\n pie3d = 'pie3d',\n labelLine = 'labelLine',\n progress = 'progress',\n minLabel = 'minLabel',\n maxLabel = 'maxLabel',\n rose = 'rose',\n node = 'node',\n sunburst = 'sunburst',\n nonLeaf = 'nonLeaf',\n leaf = 'leaf',\n nonLeafLabel = 'nonLeafLabel',\n leaderLine = 'leaderLine',\n stackLabel = 'stackLabel',\n word = 'word',\n fillingWord = 'fillingWord',\n nodePoint = 'nodePoint',\n ripplePoint = 'ripplePoint',\n centerPoint = 'centerPoint',\n centerLabel = 'centerLabel'\n}\n\nexport const seriesMarkNameSet = new Set<string>(Object.values(SeriesMarkNameEnum));\n"]}
1
+ {"version":3,"sources":["../src/series/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAY,cAiCX;AAjCD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,qCAAmB,CAAA;IACnB,uDAAqC,CAAA;IACrC,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,mDAAiC,CAAA;IACjC,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,6CAA2B,CAAA;AAC7B,CAAC,EAjCW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAiCzB;AAED,IAAY,kBAsDX;AAtDD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;AACjC,CAAC,EAtDW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAsD7B;AAEY,QAAA,iBAAiB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC","file":"type.js","sourcesContent":["export type SeriesType = keyof typeof SeriesTypeEnum | string;\n\nexport enum SeriesTypeEnum {\n area = 'area',\n line = 'line',\n bar = 'bar',\n bar3d = 'bar3d',\n rangeColumn = 'rangeColumn',\n rangeColumn3d = 'rangeColumn3d',\n rangeArea = 'rangeArea',\n dot = 'dot',\n geo = 'geo',\n link = 'link',\n map = 'map',\n pie = 'pie',\n pie3d = 'pie3d',\n radar = 'radar',\n rose = 'rose',\n scatter = 'scatter',\n circularProgress = 'circularProgress',\n wordCloud = 'wordCloud',\n wordCloud3d = 'wordCloud3d',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n linearProgress = 'linearProgress',\n boxPlot = 'boxPlot',\n sankey = 'sankey',\n gaugePointer = 'gaugePointer',\n gauge = 'gauge',\n treemap = 'treemap',\n sunburst = 'sunburst',\n circlePacking = 'circlePacking',\n waterfall = 'waterfall',\n heatmap = 'heatmap',\n correlation = 'correlation'\n}\n\nexport enum SeriesMarkNameEnum {\n label = 'label',\n point = 'point',\n line = 'line',\n area = 'area',\n bar = 'bar',\n bar3d = 'bar3d',\n boxPlot = 'boxPlot',\n outlier = 'outlier',\n circlePacking = 'circlePacking',\n group = 'group',\n gridBackground = 'gridBackground',\n grid = 'grid',\n dot = 'dot',\n title = 'title',\n subTitle = 'subTitle',\n symbol = 'symbol',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n transform = 'transform',\n transform3d = 'transform3d',\n transformLabel = 'transformLabel',\n outerLabel = 'outerLabel',\n outerLabelLine = 'outerLabelLine',\n pin = 'pin',\n pinBackground = 'pinBackground',\n pointer = 'pointer',\n segment = 'segment',\n track = 'track',\n cell = 'cell',\n cellBackground = 'cellBackground',\n link = 'link',\n arrow = 'arrow',\n pie = 'pie',\n pie3d = 'pie3d',\n labelLine = 'labelLine',\n progress = 'progress',\n minLabel = 'minLabel',\n maxLabel = 'maxLabel',\n rose = 'rose',\n node = 'node',\n sunburst = 'sunburst',\n nonLeaf = 'nonLeaf',\n leaf = 'leaf',\n nonLeafLabel = 'nonLeafLabel',\n leaderLine = 'leaderLine',\n stackLabel = 'stackLabel',\n word = 'word',\n fillingWord = 'fillingWord',\n nodePoint = 'nodePoint',\n ripplePoint = 'ripplePoint',\n centerPoint = 'centerPoint',\n centerLabel = 'centerLabel',\n barBackground = 'barBackground'\n}\n\nexport const seriesMarkNameSet = new Set<string>(Object.values(SeriesMarkNameEnum));\n"]}
@@ -15,8 +15,9 @@ class RangeColumnSeries extends bar_1.BarSeries {
15
15
  }
16
16
  initMark() {
17
17
  var _a, _b, _c, _d, _e, _f, _g, _h;
18
+ this._initBarBackgroundMark();
18
19
  const labelPosition = null === (_a = this._spec.label) || void 0 === _a ? void 0 : _a.position;
19
- this._rectMark = this._createMark(RangeColumnSeries.mark.bar, {
20
+ this._barMark = this._createMark(RangeColumnSeries.mark.bar, {
20
21
  morph: (0, utils_1.shouldDoMorph)(this._spec.animation, this._spec.morph, (0, utils_1.userAnimationConfig)("bar", this._spec)),
21
22
  defaultMorphElementKey: this.getDimensionField()[0],
22
23
  groupKey: this._seriesField,
@@ -41,7 +42,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
41
42
  }
42
43
  });
43
44
  const position = null !== (_d = null == minLabelSpec ? void 0 : minLabelSpec.position) && void 0 !== _d ? _d : "end", offset = null !== (_e = null == minLabelSpec ? void 0 : minLabelSpec.offset) && void 0 !== _e ? _e : "vertical" === this._direction ? -20 : -25;
44
- (0, label_mark_1.setRectLabelPos)(this, minLabelMark, position, offset, (datum => this._rectMark.getAttribute("x", datum)), (datum => "vertical" === this._direction ? this._rectMark.getAttribute("x", datum) + this._rectMark.getAttribute("width", datum) : this._rectMark.getAttribute("x1", datum)), (datum => this._rectMark.getAttribute("y", datum)), (datum => "vertical" === this._direction ? this._rectMark.getAttribute("y1", datum) : this._rectMark.getAttribute("y", datum) + this._rectMark.getAttribute("height", datum)), (() => this._direction));
45
+ (0, label_mark_1.setRectLabelPos)(this, minLabelMark, position, offset, (datum => this._barMark.getAttribute("x", datum)), (datum => "vertical" === this._direction ? this._barMark.getAttribute("x", datum) + this._barMark.getAttribute("width", datum) : this._barMark.getAttribute("x1", datum)), (datum => this._barMark.getAttribute("y", datum)), (datum => "vertical" === this._direction ? this._barMark.getAttribute("y1", datum) : this._barMark.getAttribute("y", datum) + this._barMark.getAttribute("height", datum)), (() => this._direction));
45
46
  }
46
47
  const maxLabelMark = this._maxLabelMark, maxLabelSpec = null === (_f = this._spec.label) || void 0 === _f ? void 0 : _f.maxLabel;
47
48
  if (maxLabelMark) {
@@ -53,7 +54,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
53
54
  }
54
55
  });
55
56
  const position = null !== (_j = null == maxLabelSpec ? void 0 : maxLabelSpec.position) && void 0 !== _j ? _j : "start", offset = null !== (_k = null == maxLabelSpec ? void 0 : maxLabelSpec.offset) && void 0 !== _k ? _k : "vertical" === this._direction ? -20 : -25;
56
- (0, label_mark_1.setRectLabelPos)(this, maxLabelMark, position, offset, (datum => this._rectMark.getAttribute("x", datum)), (datum => "vertical" === this._direction ? this._rectMark.getAttribute("x", datum) + this._rectMark.getAttribute("width", datum) : this._rectMark.getAttribute("x1", datum)), (datum => this._rectMark.getAttribute("y", datum)), (datum => "vertical" === this._direction ? this._rectMark.getAttribute("y1", datum) : this._rectMark.getAttribute("y", datum) + this._rectMark.getAttribute("height", datum)), (() => this._direction));
57
+ (0, label_mark_1.setRectLabelPos)(this, maxLabelMark, position, offset, (datum => this._barMark.getAttribute("x", datum)), (datum => "vertical" === this._direction ? this._barMark.getAttribute("x", datum) + this._barMark.getAttribute("width", datum) : this._barMark.getAttribute("x1", datum)), (datum => this._barMark.getAttribute("y", datum)), (datum => "vertical" === this._direction ? this._barMark.getAttribute("y1", datum) : this._barMark.getAttribute("y", datum) + this._barMark.getAttribute("height", datum)), (() => this._direction));
57
58
  }
58
59
  }
59
60
  initLabelMarkStyle(labelMark) {
@@ -70,7 +71,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
70
71
  initBandRectMarkStyle() {
71
72
  var _a, _b, _c, _d;
72
73
  const xScale = null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0), yScale = null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0), {dataToPosition: dataToPosition} = this.direction === space_1.Direction.horizontal ? this._xAxisHelper : this._yAxisHelper;
73
- this.direction === space_1.Direction.horizontal ? this.setMarkStyle(this._rectMark, {
74
+ this.direction === space_1.Direction.horizontal ? this.setMarkStyle(this._barMark, {
74
75
  x: datum => (0, util_1.valueInScaleRange)(dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[0]), {
75
76
  bandPosition: this._bandPosition
76
77
  }), xScale),
@@ -79,7 +80,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
79
80
  }), xScale),
80
81
  y: datum => this._getPosition(this.direction, datum),
81
82
  height: () => this._getBarWidth(this._yAxisHelper)
82
- }, "normal", constant_1.AttributeLevel.Series) : this.setMarkStyle(this._rectMark, {
83
+ }, "normal", constant_1.AttributeLevel.Series) : this.setMarkStyle(this._barMark, {
83
84
  x: datum => this._getPosition(this.direction, datum),
84
85
  y: datum => (0, util_1.valueInScaleRange)(dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[0]), {
85
86
  bandPosition: this._bandPosition
@@ -88,7 +89,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
88
89
  bandPosition: this._bandPosition
89
90
  }), yScale),
90
91
  width: () => this._getBarWidth(this._xAxisHelper)
91
- }, "normal", constant_1.AttributeLevel.Series);
92
+ }, "normal", constant_1.AttributeLevel.Series), this._initBarBackgroundMarkStyle();
92
93
  }
93
94
  initAnimation() {
94
95
  var _a, _b, _c, _d, _e;
@@ -97,7 +98,7 @@ class RangeColumnSeries extends bar_1.BarSeries {
97
98
  const xValue = null == datum ? void 0 : datum[this._fieldX[0]];
98
99
  return (null === (_c = null === (_b = null === (_a = this._viewDataStatistics) || void 0 === _a ? void 0 : _a.latestData) || void 0 === _b ? void 0 : _b[this._fieldX[0]]) || void 0 === _c ? void 0 : _c.values.indexOf(xValue)) || 0;
99
100
  }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
100
- this._rectMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_c = factory_1.Factory.getAnimationInKey("rangeColumn")) || void 0 === _c ? void 0 : _c({
101
+ this._barMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_c = factory_1.Factory.getAnimationInKey("rangeColumn")) || void 0 === _c ? void 0 : _c({
101
102
  direction: this.direction
102
103
  }, appearPreset), (0, utils_1.userAnimationConfig)(type_1.SeriesMarkNameEnum.bar, this._spec), {
103
104
  dataIndex: dataIndex
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/range-column/range-column.ts"],"names":[],"mappings":"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","file":"range-column.js","sourcesContent":["import { BarSeries } from '../bar/bar';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { Direction } from '../../typings/space';\nimport { RectMark, type IRectMark } from '../../mark/rect';\nimport { TextMark, type ITextMark } from '../../mark/text';\nimport { mergeSpec, valueInScaleRange } from '../../util';\nimport { setRectLabelPos } from '../util/label-mark';\nimport { AttributeLevel } from '../../constant';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { RangeColumnSeriesTooltipHelper } from './tooltip-helper';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { Datum } from '../../typings';\nimport type { IRangeColumnSeriesSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { PositionEnum } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { registerRangeColumnAnimation, type RangeColumnAppearPreset } from './animation';\nimport { rangeColumnSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class RangeColumnSeries<T extends IRangeColumnSeriesSpec = IRangeColumnSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.rangeColumn;\n type = SeriesTypeEnum.rangeColumn;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n protected _barName: string = SeriesTypeEnum.bar;\n\n protected declare _spec: T;\n\n static readonly mark: SeriesMarkMap = rangeColumnSeriesMark;\n\n protected _stack: boolean = false;\n private _minLabelMark?: ITextMark;\n private _maxLabelMark?: ITextMark;\n private _labelMark?: ITextMark;\n\n initMark(): void {\n const labelPosition = this._spec.label?.position;\n this._rectMark = this._createMark(RangeColumnSeries.mark.bar, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('bar', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: labelPosition === PositionEnum.bothEnd ? undefined : mergeSpec({}, this._spec.label),\n isSeriesMark: true\n }) as IRectMark;\n\n if (this._spec.label?.visible !== false && labelPosition === PositionEnum.bothEnd) {\n if (this._spec.label?.minLabel?.visible !== false) {\n this._minLabelMark = this._createMark(RangeColumnSeries.mark.minLabel, {\n markSpec: this._spec.label?.minLabel\n }) as ITextMark;\n }\n if (this._spec.label?.maxLabel?.visible !== false) {\n this._maxLabelMark = this._createMark(RangeColumnSeries.mark.maxLabel, {\n markSpec: this._spec.label?.maxLabel\n }) as ITextMark;\n }\n }\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n\n const minLabelMark = this._minLabelMark;\n const minLabelSpec = this._spec.label?.minLabel;\n if (minLabelMark) {\n this.setMarkStyle(minLabelMark, {\n fill: minLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const min =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[0]] : datum[this._spec.yField[0]];\n if (minLabelSpec?.formatMethod) {\n return minLabelSpec.formatMethod(min, datum);\n }\n return min;\n }\n });\n const position = minLabelSpec?.position ?? 'end';\n const offset = minLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n minLabelMark,\n position,\n offset,\n (datum: Datum) => this._rectMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('x', datum) as number) +\n (this._rectMark.getAttribute('width', datum) as number)\n : (this._rectMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._rectMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('y1', datum) as number)\n : (this._rectMark.getAttribute('y', datum) as number) +\n (this._rectMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n }\n\n const maxLabelMark = this._maxLabelMark;\n const maxLabelSpec = this._spec.label?.maxLabel;\n if (maxLabelMark) {\n this.setMarkStyle(maxLabelMark, {\n fill: maxLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const max =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[1]] : datum[this._spec.yField[1]];\n if (maxLabelSpec?.formatMethod) {\n return maxLabelSpec.formatMethod(max, datum);\n }\n return max;\n }\n });\n const position = maxLabelSpec?.position ?? 'start';\n const offset = maxLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n maxLabelMark,\n position,\n offset,\n (datum: Datum) => this._rectMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('x', datum) as number) +\n (this._rectMark.getAttribute('width', datum) as number)\n : (this._rectMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._rectMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._rectMark.getAttribute('y1', datum) as number)\n : (this._rectMark.getAttribute('y', datum) as number) +\n (this._rectMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n }\n }\n\n initLabelMarkStyle(labelMark: ITextMark): void {\n if (!labelMark) {\n return;\n }\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n let min;\n let max;\n if (this._spec.direction === Direction.horizontal) {\n min = datum[this._spec.xField[0]];\n max = datum[this._spec.xField[1]];\n } else {\n min = datum[this._spec.yField[0]];\n max = datum[this._spec.yField[1]];\n }\n return min + '-' + max;\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n this._labelMark = labelMark;\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n const { dataToPosition } = this.direction === Direction.horizontal ? this._xAxisHelper : this._yAxisHelper;\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[0]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n x1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[1]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._rectMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[0]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n y1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[1]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this._viewDataStatistics?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RangeColumnAppearPreset>)?.preset;\n this._rectMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('rangeColumn')?.({ direction: this.direction }, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._minLabelMark) {\n this._minLabelMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.label, this._spec),\n { dataIndex }\n )\n );\n }\n\n if (this._maxLabelMark) {\n this._maxLabelMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.label, this._spec),\n { dataIndex }\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new RangeColumnSeriesTooltipHelper(this);\n this._minLabelMark && this._tooltipHelper.ignoreTriggerSet.mark.add(this._minLabelMark);\n this._maxLabelMark && this._tooltipHelper.ignoreTriggerSet.mark.add(this._maxLabelMark);\n this._labelMark && this._tooltipHelper.ignoreTriggerSet.mark.add(this._labelMark);\n }\n}\n\nexport const registerRangeColumnSeries = () => {\n Factory.registerMark(RectMark.type, RectMark);\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerSeries(RangeColumnSeries.type, RangeColumnSeries);\n registerRangeColumnAnimation();\n registerFadeInOutAnimation();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/range-column/range-column.ts"],"names":[],"mappings":"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","file":"range-column.js","sourcesContent":["import { BarSeries } from '../bar/bar';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { Direction } from '../../typings/space';\nimport { RectMark, type IRectMark } from '../../mark/rect';\nimport { TextMark, type ITextMark } from '../../mark/text';\nimport { mergeSpec, valueInScaleRange } from '../../util';\nimport { setRectLabelPos } from '../util/label-mark';\nimport { AttributeLevel } from '../../constant';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { RangeColumnSeriesTooltipHelper } from './tooltip-helper';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { Datum } from '../../typings';\nimport type { IRangeColumnSeriesSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { PositionEnum } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { registerRangeColumnAnimation, type RangeColumnAppearPreset } from './animation';\nimport { rangeColumnSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class RangeColumnSeries<T extends IRangeColumnSeriesSpec = IRangeColumnSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.rangeColumn;\n type = SeriesTypeEnum.rangeColumn;\n protected _barMarkType: MarkTypeEnum = MarkTypeEnum.rect;\n protected _barName: string = SeriesTypeEnum.bar;\n\n protected declare _spec: T;\n\n static readonly mark: SeriesMarkMap = rangeColumnSeriesMark;\n\n protected _stack: boolean = false;\n private _minLabelMark?: ITextMark;\n private _maxLabelMark?: ITextMark;\n private _labelMark?: ITextMark;\n\n initMark(): void {\n this._initBarBackgroundMark();\n\n const labelPosition = this._spec.label?.position;\n this._barMark = this._createMark(RangeColumnSeries.mark.bar, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('bar', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: labelPosition === PositionEnum.bothEnd ? undefined : mergeSpec({}, this._spec.label),\n isSeriesMark: true\n }) as IRectMark;\n\n if (this._spec.label?.visible !== false && labelPosition === PositionEnum.bothEnd) {\n if (this._spec.label?.minLabel?.visible !== false) {\n this._minLabelMark = this._createMark(RangeColumnSeries.mark.minLabel, {\n markSpec: this._spec.label?.minLabel\n }) as ITextMark;\n }\n if (this._spec.label?.maxLabel?.visible !== false) {\n this._maxLabelMark = this._createMark(RangeColumnSeries.mark.maxLabel, {\n markSpec: this._spec.label?.maxLabel\n }) as ITextMark;\n }\n }\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n\n const minLabelMark = this._minLabelMark;\n const minLabelSpec = this._spec.label?.minLabel;\n if (minLabelMark) {\n this.setMarkStyle(minLabelMark, {\n fill: minLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const min =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[0]] : datum[this._spec.yField[0]];\n if (minLabelSpec?.formatMethod) {\n return minLabelSpec.formatMethod(min, datum);\n }\n return min;\n }\n });\n const position = minLabelSpec?.position ?? 'end';\n const offset = minLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n minLabelMark,\n position,\n offset,\n (datum: Datum) => this._barMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._barMark.getAttribute('x', datum) as number) +\n (this._barMark.getAttribute('width', datum) as number)\n : (this._barMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._barMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._barMark.getAttribute('y1', datum) as number)\n : (this._barMark.getAttribute('y', datum) as number) +\n (this._barMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n }\n\n const maxLabelMark = this._maxLabelMark;\n const maxLabelSpec = this._spec.label?.maxLabel;\n if (maxLabelMark) {\n this.setMarkStyle(maxLabelMark, {\n fill: maxLabelSpec?.style?.fill ?? this.getColorAttribute(),\n text: (datum: Datum) => {\n const max =\n this._spec.direction === Direction.horizontal ? datum[this._spec.xField[1]] : datum[this._spec.yField[1]];\n if (maxLabelSpec?.formatMethod) {\n return maxLabelSpec.formatMethod(max, datum);\n }\n return max;\n }\n });\n const position = maxLabelSpec?.position ?? 'start';\n const offset = maxLabelSpec?.offset ?? (this._direction === 'vertical' ? -20 : -25);\n setRectLabelPos(\n this,\n maxLabelMark,\n position,\n offset,\n (datum: Datum) => this._barMark.getAttribute('x', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._barMark.getAttribute('x', datum) as number) +\n (this._barMark.getAttribute('width', datum) as number)\n : (this._barMark.getAttribute('x1', datum) as number);\n },\n (datum: Datum) => this._barMark.getAttribute('y', datum) as number,\n (datum: Datum) => {\n return this._direction === 'vertical'\n ? (this._barMark.getAttribute('y1', datum) as number)\n : (this._barMark.getAttribute('y', datum) as number) +\n (this._barMark.getAttribute('height', datum) as number);\n },\n () => this._direction\n );\n }\n }\n\n initLabelMarkStyle(labelMark: ITextMark): void {\n if (!labelMark) {\n return;\n }\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n let min;\n let max;\n if (this._spec.direction === Direction.horizontal) {\n min = datum[this._spec.xField[0]];\n max = datum[this._spec.xField[1]];\n } else {\n min = datum[this._spec.yField[0]];\n max = datum[this._spec.yField[1]];\n }\n return min + '-' + max;\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n });\n this._labelMark = labelMark;\n }\n\n initBandRectMarkStyle() {\n const xScale = this._xAxisHelper?.getScale?.(0);\n const yScale = this._yAxisHelper?.getScale?.(0);\n const { dataToPosition } = this.direction === Direction.horizontal ? this._xAxisHelper : this._yAxisHelper;\n if (this.direction === Direction.horizontal) {\n this.setMarkStyle(\n this._barMark,\n {\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[0]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n x1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[1]), {\n bandPosition: this._bandPosition\n }),\n xScale\n ),\n y: (datum: Datum) => this._getPosition(this.direction, datum),\n height: () => this._getBarWidth(this._yAxisHelper)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._barMark,\n {\n x: (datum: Datum) => this._getPosition(this.direction, datum),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[0]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n y1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[1]), {\n bandPosition: this._bandPosition\n }),\n yScale\n ),\n width: () => {\n return this._getBarWidth(this._xAxisHelper);\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._initBarBackgroundMarkStyle();\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this._viewDataStatistics?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<RangeColumnAppearPreset>)?.preset;\n this._barMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('rangeColumn')?.({ direction: this.direction }, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._minLabelMark) {\n this._minLabelMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.label, this._spec),\n { dataIndex }\n )\n );\n }\n\n if (this._maxLabelMark) {\n this._maxLabelMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.label, this._spec),\n { dataIndex }\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new RangeColumnSeriesTooltipHelper(this);\n this._minLabelMark && this._tooltipHelper.ignoreTriggerSet.mark.add(this._minLabelMark);\n this._maxLabelMark && this._tooltipHelper.ignoreTriggerSet.mark.add(this._maxLabelMark);\n this._labelMark && this._tooltipHelper.ignoreTriggerSet.mark.add(this._labelMark);\n }\n}\n\nexport const registerRangeColumnSeries = () => {\n Factory.registerMark(RectMark.type, RectMark);\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerSeries(RangeColumnSeries.type, RangeColumnSeries);\n registerRangeColumnAnimation();\n registerFadeInOutAnimation();\n};\n"]}
@@ -72,7 +72,7 @@ class WaterfallSeries extends bar_1.BarSeries {
72
72
  return "horizontal" === this.direction ? null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale(0).scale(0) : null === (_b = this._yAxisHelper) || void 0 === _b ? void 0 : _b.getScale(0).scale(0);
73
73
  }
74
74
  }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
75
- this._rectMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_c = factory_1.Factory.getAnimationInKey("waterfall")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), (0,
75
+ this._barMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_c = factory_1.Factory.getAnimationInKey("waterfall")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), (0,
76
76
  utils_1.userAnimationConfig)(type_1.SeriesMarkNameEnum.bar, this._spec), {
77
77
  dataIndex: datum => {
78
78
  var _a, _b, _c;
@@ -98,7 +98,7 @@ class WaterfallSeries extends bar_1.BarSeries {
98
98
  key: "index"
99
99
  });
100
100
  leaderLine && (this._leaderLineMark = leaderLine, leaderLine.setDataView(this._totalData.getDataView(), this._totalData.getProductId())),
101
- (null === (_a = this._spec.stackLabel) || void 0 === _a ? void 0 : _a.visible) && this._rectMark.addLabelSpec(this._spec.stackLabel);
101
+ (null === (_a = this._spec.stackLabel) || void 0 === _a ? void 0 : _a.visible) && this._barMark.addLabelSpec(this._spec.stackLabel);
102
102
  }
103
103
  initLabelMarkStyle(labelMark) {
104
104
  var _a;
@@ -120,7 +120,7 @@ class WaterfallSeries extends bar_1.BarSeries {
120
120
  const {dataToPosition: dataToPosition, getBandwidth: getBandwidth} = this._xAxisHelper;
121
121
  return this._direction === typings_1.Direction.vertical ? dataToPosition([ datum[field] ], {
122
122
  bandPosition: this._bandPosition
123
- }) + .5 * getBandwidth(0) - this._rectMark.getAttribute("width", datum) * (.5 - pos) : (0,
123
+ }) + .5 * getBandwidth(0) - this._barMark.getAttribute("width", datum) * (.5 - pos) : (0,
124
124
  util_1.valueInScaleRange)(dataToPosition([ datum[field] ], {
125
125
  bandPosition: this._bandPosition
126
126
  }));
@@ -131,7 +131,7 @@ class WaterfallSeries extends bar_1.BarSeries {
131
131
  bandPosition: this._bandPosition
132
132
  })) : dataToPosition([ datum[field] ], {
133
133
  bandPosition: this._bandPosition
134
- }) + .5 * getBandwidth(0) - this._rectMark.getAttribute("height", datum) * (.5 - pos);
134
+ }) + .5 * getBandwidth(0) - this._barMark.getAttribute("height", datum) * (.5 - pos);
135
135
  }
136
136
  initMarkStyle() {
137
137
  super.initMarkStyle(), this._leaderLineMark && (this._direction === typings_1.Direction.vertical ? this.setMarkStyle(this._leaderLineMark, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/waterfall/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IRuleMark } from '../../mark/rule';\nimport { isNil, precisionSub } from '@visactor/vutils';\nimport {\n AttributeLevel,\n PREFIX,\n STACK_FIELD_END,\n STACK_FIELD_START,\n WaterfallDefaultSeriesField\n} from '../../constant/index';\nimport { waterfall, waterfallFillTotal } from '../../data/transforms/waterfall';\nimport { BarSeries } from '../bar/bar';\nimport { valueInScaleRange } from '../../util';\nimport { registerWaterfallAnimation, type WaterfallAppearPreset } from './animation';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IWaterfallSeriesSpec, IWaterfallSeriesTheme } from './interface';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { ITransformOptions, DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SeriesData } from '../base/series-data';\nimport { dataViewFromDataView } from '../../data/initialize';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { Direction } from '../../typings';\nimport type { IBarAnimationParams } from '../bar/animation';\nimport { RuleMark } from '../../mark/rule';\nimport { waterfallSeriesMark } from './constant';\nimport { Group } from '../base/group';\nimport type { ILabelMark } from '../../mark/label';\nimport { LabelRule } from '../../component/label/util';\nimport { Factory } from '../../core/factory';\nimport { RectMark } from '../../mark';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class WaterfallSeries<T extends IWaterfallSeriesSpec = IWaterfallSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.waterfall;\n type = SeriesTypeEnum.waterfall;\n\n static readonly mark: SeriesMarkMap = waterfallSeriesMark;\n\n protected _stack: boolean = false;\n\n protected declare _theme: Maybe<IWaterfallSeriesTheme>;\n\n protected _totalData?: SeriesData;\n getTotalData() {\n return this._totalData?.getLatestData();\n }\n\n protected declare _spec: T;\n\n protected _leaderLineMark: IRuleMark = null;\n protected _stackLabelMark: ITextMark = null;\n protected _labelMark: ITextMark = null;\n\n protected initGroups() {\n const groupFields = this.getGroupFields();\n if (groupFields && groupFields.length) {\n this._groups = new Group(groupFields);\n this._data && this._groups.initData(this._data.getDataView(), this._dataSet);\n }\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // waterfall data stack data\n this.setValueFieldToStack();\n // 不支持多维度;\n this._fieldX = [this._fieldX[0]];\n this._fieldY = [this._fieldY[0]];\n if (isNil(this._seriesField)) {\n this._seriesField = WaterfallDefaultSeriesField;\n }\n }\n\n getSeriesKeys(): string[] {\n if (this._seriesField === WaterfallDefaultSeriesField) {\n return [\n this._theme.seriesFieldName.increase,\n this._theme.seriesFieldName.decrease,\n this._theme.seriesFieldName.total\n ];\n }\n return super.getSeriesKeys();\n }\n\n protected initData(): void {\n super.initData();\n registerDataSetInstanceTransform(this._dataSet, 'waterfallFillTotal', waterfallFillTotal);\n registerDataSetInstanceTransform(this._dataSet, 'waterfall', waterfall);\n // 如果要在最后添加总计\n if (isNil(this._spec.total) || this._spec.total.type === 'end') {\n this._rawData?.transform(\n {\n type: 'waterfallFillTotal',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n total: this._spec.total\n }\n },\n false\n );\n }\n // 总计数据\n const totalData = dataViewFromDataView(this.getViewData(), this._dataSet, {\n name: `${PREFIX}_series_${this.id}_totalData`\n });\n this.getViewData().target.removeListener('change', totalData.reRunAllTransform);\n this._totalData = new SeriesData(this._option, totalData);\n totalData.transform(\n {\n type: 'waterfall',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n startAs: STACK_FIELD_START,\n endAs: STACK_FIELD_END,\n total: this._spec.total,\n groupData: () => this.getGroups().groupData\n }\n },\n false\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this.direction === 'horizontal' ? this._fieldY[0] : this.getStackValueField(),\n xField: this.direction === 'horizontal' ? this.getStackValueField() : this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<WaterfallAppearPreset>)?.preset;\n\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('waterfall')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._leaderLineMark) {\n this._leaderLineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.leaderLine, this._spec)\n )\n );\n }\n }\n\n viewDataUpdate(d: DataView): void {\n this._totalData.getDataView().reRunAllTransform();\n this._totalData.updateData();\n super.viewDataUpdate(d);\n }\n /**\n * data\n */\n // waterfall 不支持任何的 data filter\n addViewDataFilter(_option: ITransformOptions) {\n // do nothing\n }\n reFilterViewData() {\n // do nothing\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n this._totalData.updateData();\n }\n\n initMark(): void {\n super.initMark();\n const leaderLine = this._createMark(WaterfallSeries.mark.leaderLine, {\n key: 'index'\n }) as IRuleMark;\n if (leaderLine) {\n this._leaderLineMark = leaderLine;\n leaderLine.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n if (this._spec.stackLabel?.visible) {\n this._rectMark.addLabelSpec(this._spec.stackLabel);\n }\n }\n\n initLabelMarkStyle(labelMark: ILabelMark): void {\n if (!labelMark) {\n return;\n }\n\n if (!this._labelMark && this._spec.label?.visible) {\n super.initLabelMarkStyle(labelMark);\n this._labelMark = labelMark;\n return;\n }\n\n this._stackLabelMark = labelMark;\n // 瀑布图标签 encode 在自定义布局中计算\n labelMark.skipEncode = true;\n labelMark.setRule(LabelRule.stackLabel);\n labelMark.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n return this._spec.stackLabel?.valueType === 'absolute' ? datum.end : precisionSub(datum.end, datum.start);\n }\n });\n }\n\n totalPositionX(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._xAxisHelper;\n if (this._direction === Direction.vertical) {\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._rectMark.getAttribute('width', datum) as number) * (0.5 - pos)\n );\n }\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n\n totalPositionY(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n if (this._direction === Direction.vertical) {\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._rectMark.getAttribute('height', datum) as number) * (0.5 - pos)\n );\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n if (this._leaderLineMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this.totalPositionX(datum, 'lastIndex', 1);\n },\n x1: (datum: Datum) => this.totalPositionX(datum, 'index', 0),\n y: (datum: Datum) => this.totalPositionY(datum, 'lastEnd', 0),\n y1: (datum: Datum) => this.totalPositionY(datum, datum.isTotal ? 'end' : 'start', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => this.totalPositionX(datum, 'lastEnd', 0),\n x1: (datum: Datum) => this.totalPositionX(datum, datum.isTotal ? 'end' : 'start', 0),\n y: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this.totalPositionY(datum, 'lastIndex', 1);\n },\n y1: (datum: Datum) => this.totalPositionY(datum, 'index', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n }\n}\n\nexport const registerWaterfallSeries = () => {\n Factory.registerMark(RuleMark.type, RuleMark);\n Factory.registerMark(RectMark.type, RectMark);\n Factory.registerSeries(WaterfallSeries.type, WaterfallSeries);\n registerWaterfallAnimation();\n registerFadeInOutAnimation();\n};\n"]}
1
+ {"version":3,"sources":["../src/series/waterfall/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IRuleMark } from '../../mark/rule';\nimport { isNil, precisionSub } from '@visactor/vutils';\nimport {\n AttributeLevel,\n PREFIX,\n STACK_FIELD_END,\n STACK_FIELD_START,\n WaterfallDefaultSeriesField\n} from '../../constant/index';\nimport { waterfall, waterfallFillTotal } from '../../data/transforms/waterfall';\nimport { BarSeries } from '../bar/bar';\nimport { valueInScaleRange } from '../../util';\nimport { registerWaterfallAnimation, type WaterfallAppearPreset } from './animation';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IWaterfallSeriesSpec, IWaterfallSeriesTheme } from './interface';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { ITransformOptions, DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SeriesData } from '../base/series-data';\nimport { dataViewFromDataView } from '../../data/initialize';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { Direction } from '../../typings';\nimport type { IBarAnimationParams } from '../bar/animation';\nimport { RuleMark } from '../../mark/rule';\nimport { waterfallSeriesMark } from './constant';\nimport { Group } from '../base/group';\nimport type { ILabelMark } from '../../mark/label';\nimport { LabelRule } from '../../component/label/util';\nimport { Factory } from '../../core/factory';\nimport { RectMark } from '../../mark';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class WaterfallSeries<T extends IWaterfallSeriesSpec = IWaterfallSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.waterfall;\n type = SeriesTypeEnum.waterfall;\n\n static readonly mark: SeriesMarkMap = waterfallSeriesMark;\n\n protected _stack: boolean = false;\n\n protected declare _theme: Maybe<IWaterfallSeriesTheme>;\n\n protected _totalData?: SeriesData;\n getTotalData() {\n return this._totalData?.getLatestData();\n }\n\n protected declare _spec: T;\n\n protected _leaderLineMark: IRuleMark = null;\n protected _stackLabelMark: ITextMark = null;\n protected _labelMark: ITextMark = null;\n\n protected initGroups() {\n const groupFields = this.getGroupFields();\n if (groupFields && groupFields.length) {\n this._groups = new Group(groupFields);\n this._data && this._groups.initData(this._data.getDataView(), this._dataSet);\n }\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // waterfall data stack data\n this.setValueFieldToStack();\n // 不支持多维度;\n this._fieldX = [this._fieldX[0]];\n this._fieldY = [this._fieldY[0]];\n if (isNil(this._seriesField)) {\n this._seriesField = WaterfallDefaultSeriesField;\n }\n }\n\n getSeriesKeys(): string[] {\n if (this._seriesField === WaterfallDefaultSeriesField) {\n return [\n this._theme.seriesFieldName.increase,\n this._theme.seriesFieldName.decrease,\n this._theme.seriesFieldName.total\n ];\n }\n return super.getSeriesKeys();\n }\n\n protected initData(): void {\n super.initData();\n registerDataSetInstanceTransform(this._dataSet, 'waterfallFillTotal', waterfallFillTotal);\n registerDataSetInstanceTransform(this._dataSet, 'waterfall', waterfall);\n // 如果要在最后添加总计\n if (isNil(this._spec.total) || this._spec.total.type === 'end') {\n this._rawData?.transform(\n {\n type: 'waterfallFillTotal',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n total: this._spec.total\n }\n },\n false\n );\n }\n // 总计数据\n const totalData = dataViewFromDataView(this.getViewData(), this._dataSet, {\n name: `${PREFIX}_series_${this.id}_totalData`\n });\n this.getViewData().target.removeListener('change', totalData.reRunAllTransform);\n this._totalData = new SeriesData(this._option, totalData);\n totalData.transform(\n {\n type: 'waterfall',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n startAs: STACK_FIELD_START,\n endAs: STACK_FIELD_END,\n total: this._spec.total,\n groupData: () => this.getGroups().groupData\n }\n },\n false\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this.direction === 'horizontal' ? this._fieldY[0] : this.getStackValueField(),\n xField: this.direction === 'horizontal' ? this.getStackValueField() : this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<WaterfallAppearPreset>)?.preset;\n\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._barMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('waterfall')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._leaderLineMark) {\n this._leaderLineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('fadeInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.leaderLine, this._spec)\n )\n );\n }\n }\n\n viewDataUpdate(d: DataView): void {\n this._totalData.getDataView().reRunAllTransform();\n this._totalData.updateData();\n super.viewDataUpdate(d);\n }\n /**\n * data\n */\n // waterfall 不支持任何的 data filter\n addViewDataFilter(_option: ITransformOptions) {\n // do nothing\n }\n reFilterViewData() {\n // do nothing\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n this._totalData.updateData();\n }\n\n initMark(): void {\n super.initMark();\n const leaderLine = this._createMark(WaterfallSeries.mark.leaderLine, {\n key: 'index'\n }) as IRuleMark;\n if (leaderLine) {\n this._leaderLineMark = leaderLine;\n leaderLine.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n if (this._spec.stackLabel?.visible) {\n this._barMark.addLabelSpec(this._spec.stackLabel);\n }\n }\n\n initLabelMarkStyle(labelMark: ILabelMark): void {\n if (!labelMark) {\n return;\n }\n\n if (!this._labelMark && this._spec.label?.visible) {\n super.initLabelMarkStyle(labelMark);\n this._labelMark = labelMark;\n return;\n }\n\n this._stackLabelMark = labelMark;\n // 瀑布图标签 encode 在自定义布局中计算\n labelMark.skipEncode = true;\n labelMark.setRule(LabelRule.stackLabel);\n labelMark.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n return this._spec.stackLabel?.valueType === 'absolute' ? datum.end : precisionSub(datum.end, datum.start);\n }\n });\n }\n\n totalPositionX(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._xAxisHelper;\n if (this._direction === Direction.vertical) {\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._barMark.getAttribute('width', datum) as number) * (0.5 - pos)\n );\n }\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n\n totalPositionY(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n if (this._direction === Direction.vertical) {\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._barMark.getAttribute('height', datum) as number) * (0.5 - pos)\n );\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n if (this._leaderLineMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this.totalPositionX(datum, 'lastIndex', 1);\n },\n x1: (datum: Datum) => this.totalPositionX(datum, 'index', 0),\n y: (datum: Datum) => this.totalPositionY(datum, 'lastEnd', 0),\n y1: (datum: Datum) => this.totalPositionY(datum, datum.isTotal ? 'end' : 'start', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => this.totalPositionX(datum, 'lastEnd', 0),\n x1: (datum: Datum) => this.totalPositionX(datum, datum.isTotal ? 'end' : 'start', 0),\n y: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this.totalPositionY(datum, 'lastIndex', 1);\n },\n y1: (datum: Datum) => this.totalPositionY(datum, 'index', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n }\n}\n\nexport const registerWaterfallSeries = () => {\n Factory.registerMark(RuleMark.type, RuleMark);\n Factory.registerMark(RectMark.type, RectMark);\n Factory.registerSeries(WaterfallSeries.type, WaterfallSeries);\n registerWaterfallAnimation();\n registerFadeInOutAnimation();\n};\n"]}