@visactor/vchart 1.13.25 → 1.13.27

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.
@@ -78,7 +78,9 @@ class LiquidSeries extends base_1.BaseSeries {
78
78
  this._maskShape = null !== (_b = this._spec.maskShape) && void 0 !== _b ? _b : "circle";
79
79
  }
80
80
  viewDataUpdate(d) {
81
- super.viewDataUpdate(d), this._heightRatio = (0, vutils_1.max)(...this._data.getLatestData().map((d => d[this._valueField])));
81
+ super.viewDataUpdate(d);
82
+ const heightRatio = (0, vutils_1.max)(...this._data.getLatestData().map((d => d[this._valueField])));
83
+ this._heightRatio = heightRatio > 1 ? 1 : heightRatio;
82
84
  }
83
85
  initMark() {
84
86
  this._initLiquidOutlineMark(), this._initLiquidBackgroundMark(), this._initLiquidMark();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/liquid/liquid.ts"],"names":[],"mappings":"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","file":"liquid.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, max } from '@visactor/vutils';\nimport type { Datum, ILiquidMarkSpec, IPoint } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { ILiquidPadding, ILiquidSeriesSpec, LiquidAppearPreset, LiquidShapeType } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IGroupMark, IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { ChartEvent } from '../../constant/event';\nimport { BaseSeries } from '../base';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerGroupMark } from '../../mark/group';\nimport { getShapes } from './util';\nimport { createRect, createSymbol } from '@visactor/vrender-core';\nimport { labelSmartInvert } from '@visactor/vrender-components';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport { LiquidSeriesTooltipHelper } from './tooltip-helper';\n\nexport type ILiquidMark = IMarkRaw<ILiquidMarkSpec>;\nexport class LiquidSeries<T extends ILiquidSeriesSpec = ILiquidSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = SeriesTypeEnum.liquid;\n type = SeriesTypeEnum.liquid;\n\n static readonly mark: SeriesMarkMap = LiquidSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n private _liquidGroupMark?: IGroupMark;\n private _liquidMark?: ILiquidMark;\n private _liquidBackgroundMark?: IGroupMark | null = null;\n private _liquidOutlineMark?: IGroupMark | null = null;\n private _paddingSpec?: ILiquidPadding;\n private _marginSpec?: ILiquidPadding;\n\n private _heightRatio?: number;\n\n private _reverse?: boolean;\n private _maskShape?: LiquidShapeType;\n\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n getValueField() {\n return this._valueField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._marginSpec = normalizeLayoutPaddingSpec(this._spec.outlineMargin) as ILiquidPadding;\n this._paddingSpec = normalizeLayoutPaddingSpec(this._spec.outlinePadding) as ILiquidPadding;\n this.setValueField(this._spec.valueField);\n this._reverse = this._spec.reverse ?? false;\n this._maskShape = this._spec.maskShape ?? 'circle';\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._heightRatio = max(...this._data.getLatestData().map((d: Datum) => d[this._valueField]));\n }\n\n initMark(): void {\n this._initLiquidOutlineMark();\n this._initLiquidBackgroundMark();\n this._initLiquidMark();\n }\n\n initMarkStyle(): void {\n this._initLiquidOutlineMarkStyle();\n this._initLiquidBackgroundMarkStyle();\n this._initLiquidMarkStyle();\n }\n\n private _initLiquidOutlineMark() {\n this._liquidOutlineMark = this._createMark(LiquidSeries.mark.liquidOutline, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidOutlineMark;\n }\n\n private _initLiquidBackgroundMark() {\n this._liquidBackgroundMark = this._createMark(LiquidSeries.mark.liquidBackground, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidBackgroundMark;\n }\n\n private _initLiquidMark() {\n this._liquidGroupMark = this._createMark(LiquidSeries.mark.liquidGroup, {\n parent: this._liquidBackgroundMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {\n parent: this._liquidGroupMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as ILiquidMark;\n return this._liquidMark;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n this._markAttributeContext.getLiquidBackPosAndSize = this._getLiquidBackPosAndSize;\n this._markAttributeContext.getLiquidPosY = this._getLiquidPosY;\n this._markAttributeContext.getLiquidHeight = this._getLiquidHeight;\n }\n\n private _getLiquidPosY = () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = liquidBackHeight * this._heightRatio;\n } else {\n liquidY = liquidBackHeight * (1 - this._heightRatio);\n }\n return liquidY + startY;\n };\n\n private _getLiquidHeight = () => {\n const { height: liquidBackHeight } = this._getLiquidBackPosAndSize();\n return liquidBackHeight * this._heightRatio;\n };\n\n private _getLiquidBackPosAndSize = (isOutline: boolean = false) => {\n let {\n top: marginTop = 0,\n bottom: marginBottom = 0,\n // eslint-disable-next-line prefer-const\n left: marginLeft = 0,\n // eslint-disable-next-line prefer-const\n right: marginRight = 0\n } = this._marginSpec;\n let {\n top: paddingTop = 0,\n bottom: paddingBottom = 0,\n // eslint-disable-next-line prefer-const\n left: paddingLeft = 0,\n // eslint-disable-next-line prefer-const\n right: paddingRight = 0\n } = isOutline ? {} : this._paddingSpec;\n\n // 纠偏:对于正三角形而言, 上下留取相同的padidng/margin, 视觉上会看到下面留取的空白大于上面\n // 正确的做法是保持正三角形在60度方向上空白一致,换算到bottom就是/Math.sqrt(3), 换算到top就是 value/Math.sqrt(3)*2\n if (this._maskShape === 'triangle') {\n marginBottom = marginBottom / Math.sqrt(3);\n marginTop = (marginTop / Math.sqrt(3)) * 2;\n paddingBottom = paddingBottom / Math.sqrt(3);\n paddingTop = (paddingTop / Math.sqrt(3)) * 2;\n }\n\n const { width: regionWidth, height: regionHeight } = this._region?.getLayoutRect() ?? { width: 0, height: 0 };\n\n const deltaX = (marginLeft + paddingLeft - (marginRight + paddingRight)) / 2;\n const deltaY = (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2;\n const x = regionWidth / 2 + deltaX;\n const y = regionHeight / 2 + deltaY;\n\n // 用于rect mark style\n let width = regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight);\n let height = regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom);\n // console.log('regionWidth', regionWidth, regionHeight)\n\n // 用于symbol mark style\n const size = Math.min(width, height);\n if (this._maskShape !== 'rect') {\n width = size;\n height = size;\n }\n\n return {\n x,\n y,\n size,\n width,\n height,\n startX: x - width / 2,\n startY: y - height / 2,\n endX: x + width / 2,\n endY: y + height / 2\n };\n };\n\n private _getLiquidBackPath = (isOutline: boolean = false) => {\n let symbolPath;\n if (this._maskShape === 'rect') {\n const { x, y, width, height } = this._getLiquidBackPosAndSize(isOutline);\n symbolPath = createRect({\n x: x - width / 2,\n y: y - height / 2,\n width,\n height,\n fill: true\n });\n } else {\n const { x, y, size } = this._getLiquidBackPosAndSize(isOutline);\n // console.log('size', size)\n symbolPath = createSymbol({\n x,\n y,\n size,\n symbolType: getShapes(this._spec.maskShape ?? 'circle', size),\n fill: true\n });\n }\n return [symbolPath];\n };\n\n private _initLiquidOutlineMarkStyle() {\n const liquidOutlineMark = this._liquidOutlineMark;\n liquidOutlineMark.created();\n this.setMarkStyle(\n liquidOutlineMark,\n {\n stroke: this.getColorAttribute(),\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath(true)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidOutlineMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex });\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n // rect mark x,y 指定左上角\n this.setMarkStyle(\n liquidBackgroundMark,\n {\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidBackgroundMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex, clip: true });\n }\n\n private _initLiquidMarkStyle() {\n const liquidMark = this._liquidMark;\n const liquidGroupMark = this._liquidGroupMark;\n if (liquidGroupMark) {\n this.setMarkStyle(liquidGroupMark, {\n x: () => {\n return this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2;\n },\n angle: this._reverse ? -Math.PI : 0,\n y: 0,\n dy: this._getLiquidPosY\n });\n }\n if (liquidMark) {\n // liquid mark x, y 指定左上角\n this.setMarkStyle(\n liquidMark,\n {\n // wave图元设置y后, 3个子area图元的point发生变化, 但vrender的渐变区域没有变化, 待vrender修复\n // 目前先采用下列方法配置:\n // 1. y强制指定为0, 保证图元不超出vrender的渐变区域\n // 2. 在外面包一层group图元, 使用group dy做偏移, 保证vrender渐变区域随图元位置变化而更新\n y: 0,\n dy: 0,\n height: this._getLiquidHeight,\n fill: this.getColorAttribute(),\n wave: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LiquidSeriesTooltipHelper(this);\n this._liquidMark && this._tooltipHelper.activeTriggerSet.mark.add(this._liquidMark);\n }\n\n initInteraction(): void {\n this._parseInteractionConfig(this._liquidMark ? [this._liquidMark] : []);\n }\n\n initAnimation() {\n const animationParams = {\n height: {\n from: 0,\n to: () => {\n return this._getLiquidHeight();\n }\n },\n dy: {\n from: () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = 0;\n } else {\n liquidY = liquidBackHeight;\n }\n return liquidY + startY;\n }\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LiquidAppearPreset>)?.preset;\n this._liquidMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquid')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquid, this._spec, this._markAttributeContext)\n )\n );\n this._liquidGroupMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquidGroup')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquidGroup, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initEvent(): void {\n super.initEvent();\n if (!this._spec.indicatorSmartInvert || !this._option.getChart().getComponentsByKey('indicator')) {\n return;\n }\n this.event.on(ChartEvent.renderFinished, () => {\n this._option\n .getChart()\n .getComponentsByKey('indicator')\n .forEach((indicatorComponent: any) => {\n // wave item比较特殊, 由wave1、wave2、wave3在x方向上偏移叠加而成\n // 由于在水波图中只需要判断y方向上是否重叠, 所以此处取wave1做y方向上对比\n const grammarMark = this._liquidMark.getProduct();\n const waveItem = (grammarMark.elements[0] as any).glyphGraphicItems.wave1;\n let { y1: waveY1, y2: waveY2 } = waveItem.globalAABBBounds;\n waveY1 += this._region.getLayoutStartPoint().y;\n waveY2 += this._region.getLayoutStartPoint().y;\n indicatorComponent\n ?.getIndicatorComponent()\n ?.getChildren()[0]\n ?.getChildren()\n .forEach((text: any) => {\n const { y1: textY1, y2: textY2 } = text.globalAABBBounds;\n if (waveY1 < textY1 && waveY2 > textY2) {\n const foregroundColor = text.attribute.fill;\n const backgroundColor = waveItem.attribute.fill;\n const invertColor = labelSmartInvert(foregroundColor, backgroundColor);\n text.setAttribute('fill', invertColor);\n }\n });\n });\n });\n }\n\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: Datum): number {\n return null;\n }\n dataToPositionY(data: Datum): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\n getStatisticFields(): any[] {\n return [];\n }\n\n getGroupFields(): string[] {\n return [];\n }\n getStackGroupFields(): string[] {\n return [];\n }\n getStackValueField(): string {\n return '';\n }\n\n getActiveMarks(): IMark[] {\n return [this._liquidMark];\n }\n}\n\nexport const registerLiquidSeries = () => {\n registerLiquidMark();\n registerGroupMark();\n registerLiquidAnimation();\n Factory.registerSeries(LiquidSeries.type, LiquidSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/liquid/liquid.ts"],"names":[],"mappings":"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","file":"liquid.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, max } from '@visactor/vutils';\nimport type { Datum, ILiquidMarkSpec, IPoint } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { ILiquidPadding, ILiquidSeriesSpec, LiquidAppearPreset, LiquidShapeType } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IGroupMark, IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { ChartEvent } from '../../constant/event';\nimport { BaseSeries } from '../base';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerGroupMark } from '../../mark/group';\nimport { getShapes } from './util';\nimport { createRect, createSymbol } from '@visactor/vrender-core';\nimport { labelSmartInvert } from '@visactor/vrender-components';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport { LiquidSeriesTooltipHelper } from './tooltip-helper';\n\nexport type ILiquidMark = IMarkRaw<ILiquidMarkSpec>;\nexport class LiquidSeries<T extends ILiquidSeriesSpec = ILiquidSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = SeriesTypeEnum.liquid;\n type = SeriesTypeEnum.liquid;\n\n static readonly mark: SeriesMarkMap = LiquidSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n private _liquidGroupMark?: IGroupMark;\n private _liquidMark?: ILiquidMark;\n private _liquidBackgroundMark?: IGroupMark | null = null;\n private _liquidOutlineMark?: IGroupMark | null = null;\n private _paddingSpec?: ILiquidPadding;\n private _marginSpec?: ILiquidPadding;\n\n private _heightRatio?: number;\n\n private _reverse?: boolean;\n private _maskShape?: LiquidShapeType;\n\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n getValueField() {\n return this._valueField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._marginSpec = normalizeLayoutPaddingSpec(this._spec.outlineMargin) as ILiquidPadding;\n this._paddingSpec = normalizeLayoutPaddingSpec(this._spec.outlinePadding) as ILiquidPadding;\n this.setValueField(this._spec.valueField);\n this._reverse = this._spec.reverse ?? false;\n this._maskShape = this._spec.maskShape ?? 'circle';\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n const heightRatio = max(...this._data.getLatestData().map((d: Datum) => d[this._valueField]));\n this._heightRatio = heightRatio > 1 ? 1 : heightRatio;\n }\n\n initMark(): void {\n this._initLiquidOutlineMark();\n this._initLiquidBackgroundMark();\n this._initLiquidMark();\n }\n\n initMarkStyle(): void {\n this._initLiquidOutlineMarkStyle();\n this._initLiquidBackgroundMarkStyle();\n this._initLiquidMarkStyle();\n }\n\n private _initLiquidOutlineMark() {\n this._liquidOutlineMark = this._createMark(LiquidSeries.mark.liquidOutline, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidOutlineMark;\n }\n\n private _initLiquidBackgroundMark() {\n this._liquidBackgroundMark = this._createMark(LiquidSeries.mark.liquidBackground, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidBackgroundMark;\n }\n\n private _initLiquidMark() {\n this._liquidGroupMark = this._createMark(LiquidSeries.mark.liquidGroup, {\n parent: this._liquidBackgroundMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {\n parent: this._liquidGroupMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as ILiquidMark;\n return this._liquidMark;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n this._markAttributeContext.getLiquidBackPosAndSize = this._getLiquidBackPosAndSize;\n this._markAttributeContext.getLiquidPosY = this._getLiquidPosY;\n this._markAttributeContext.getLiquidHeight = this._getLiquidHeight;\n }\n\n private _getLiquidPosY = () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = liquidBackHeight * this._heightRatio;\n } else {\n liquidY = liquidBackHeight * (1 - this._heightRatio);\n }\n return liquidY + startY;\n };\n\n private _getLiquidHeight = () => {\n const { height: liquidBackHeight } = this._getLiquidBackPosAndSize();\n return liquidBackHeight * this._heightRatio;\n };\n\n private _getLiquidBackPosAndSize = (isOutline: boolean = false) => {\n let {\n top: marginTop = 0,\n bottom: marginBottom = 0,\n // eslint-disable-next-line prefer-const\n left: marginLeft = 0,\n // eslint-disable-next-line prefer-const\n right: marginRight = 0\n } = this._marginSpec;\n let {\n top: paddingTop = 0,\n bottom: paddingBottom = 0,\n // eslint-disable-next-line prefer-const\n left: paddingLeft = 0,\n // eslint-disable-next-line prefer-const\n right: paddingRight = 0\n } = isOutline ? {} : this._paddingSpec;\n\n // 纠偏:对于正三角形而言, 上下留取相同的padidng/margin, 视觉上会看到下面留取的空白大于上面\n // 正确的做法是保持正三角形在60度方向上空白一致,换算到bottom就是/Math.sqrt(3), 换算到top就是 value/Math.sqrt(3)*2\n if (this._maskShape === 'triangle') {\n marginBottom = marginBottom / Math.sqrt(3);\n marginTop = (marginTop / Math.sqrt(3)) * 2;\n paddingBottom = paddingBottom / Math.sqrt(3);\n paddingTop = (paddingTop / Math.sqrt(3)) * 2;\n }\n\n const { width: regionWidth, height: regionHeight } = this._region?.getLayoutRect() ?? { width: 0, height: 0 };\n\n const deltaX = (marginLeft + paddingLeft - (marginRight + paddingRight)) / 2;\n const deltaY = (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2;\n const x = regionWidth / 2 + deltaX;\n const y = regionHeight / 2 + deltaY;\n\n // 用于rect mark style\n let width = regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight);\n let height = regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom);\n // console.log('regionWidth', regionWidth, regionHeight)\n\n // 用于symbol mark style\n const size = Math.min(width, height);\n if (this._maskShape !== 'rect') {\n width = size;\n height = size;\n }\n\n return {\n x,\n y,\n size,\n width,\n height,\n startX: x - width / 2,\n startY: y - height / 2,\n endX: x + width / 2,\n endY: y + height / 2\n };\n };\n\n private _getLiquidBackPath = (isOutline: boolean = false) => {\n let symbolPath;\n if (this._maskShape === 'rect') {\n const { x, y, width, height } = this._getLiquidBackPosAndSize(isOutline);\n symbolPath = createRect({\n x: x - width / 2,\n y: y - height / 2,\n width,\n height,\n fill: true\n });\n } else {\n const { x, y, size } = this._getLiquidBackPosAndSize(isOutline);\n // console.log('size', size)\n symbolPath = createSymbol({\n x,\n y,\n size,\n symbolType: getShapes(this._spec.maskShape ?? 'circle', size),\n fill: true\n });\n }\n return [symbolPath];\n };\n\n private _initLiquidOutlineMarkStyle() {\n const liquidOutlineMark = this._liquidOutlineMark;\n liquidOutlineMark.created();\n this.setMarkStyle(\n liquidOutlineMark,\n {\n stroke: this.getColorAttribute(),\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath(true)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidOutlineMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex });\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n // rect mark x,y 指定左上角\n this.setMarkStyle(\n liquidBackgroundMark,\n {\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidBackgroundMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex, clip: true });\n }\n\n private _initLiquidMarkStyle() {\n const liquidMark = this._liquidMark;\n const liquidGroupMark = this._liquidGroupMark;\n if (liquidGroupMark) {\n this.setMarkStyle(liquidGroupMark, {\n x: () => {\n return this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2;\n },\n angle: this._reverse ? -Math.PI : 0,\n y: 0,\n dy: this._getLiquidPosY\n });\n }\n if (liquidMark) {\n // liquid mark x, y 指定左上角\n this.setMarkStyle(\n liquidMark,\n {\n // wave图元设置y后, 3个子area图元的point发生变化, 但vrender的渐变区域没有变化, 待vrender修复\n // 目前先采用下列方法配置:\n // 1. y强制指定为0, 保证图元不超出vrender的渐变区域\n // 2. 在外面包一层group图元, 使用group dy做偏移, 保证vrender渐变区域随图元位置变化而更新\n y: 0,\n dy: 0,\n height: this._getLiquidHeight,\n fill: this.getColorAttribute(),\n wave: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LiquidSeriesTooltipHelper(this);\n this._liquidMark && this._tooltipHelper.activeTriggerSet.mark.add(this._liquidMark);\n }\n\n initInteraction(): void {\n this._parseInteractionConfig(this._liquidMark ? [this._liquidMark] : []);\n }\n\n initAnimation() {\n const animationParams = {\n height: {\n from: 0,\n to: () => {\n return this._getLiquidHeight();\n }\n },\n dy: {\n from: () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = 0;\n } else {\n liquidY = liquidBackHeight;\n }\n return liquidY + startY;\n }\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LiquidAppearPreset>)?.preset;\n this._liquidMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquid')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquid, this._spec, this._markAttributeContext)\n )\n );\n this._liquidGroupMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquidGroup')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquidGroup, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initEvent(): void {\n super.initEvent();\n if (!this._spec.indicatorSmartInvert || !this._option.getChart().getComponentsByKey('indicator')) {\n return;\n }\n this.event.on(ChartEvent.renderFinished, () => {\n this._option\n .getChart()\n .getComponentsByKey('indicator')\n .forEach((indicatorComponent: any) => {\n // wave item比较特殊, 由wave1、wave2、wave3在x方向上偏移叠加而成\n // 由于在水波图中只需要判断y方向上是否重叠, 所以此处取wave1做y方向上对比\n const grammarMark = this._liquidMark.getProduct();\n const waveItem = (grammarMark.elements[0] as any).glyphGraphicItems.wave1;\n let { y1: waveY1, y2: waveY2 } = waveItem.globalAABBBounds;\n waveY1 += this._region.getLayoutStartPoint().y;\n waveY2 += this._region.getLayoutStartPoint().y;\n indicatorComponent\n ?.getIndicatorComponent()\n ?.getChildren()[0]\n ?.getChildren()\n .forEach((text: any) => {\n const { y1: textY1, y2: textY2 } = text.globalAABBBounds;\n if (waveY1 < textY1 && waveY2 > textY2) {\n const foregroundColor = text.attribute.fill;\n const backgroundColor = waveItem.attribute.fill;\n const invertColor = labelSmartInvert(foregroundColor, backgroundColor);\n text.setAttribute('fill', invertColor);\n }\n });\n });\n });\n }\n\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: Datum): number {\n return null;\n }\n dataToPositionY(data: Datum): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\n getStatisticFields(): any[] {\n return [];\n }\n\n getGroupFields(): string[] {\n return [];\n }\n getStackGroupFields(): string[] {\n return [];\n }\n getStackValueField(): string {\n return '';\n }\n\n getActiveMarks(): IMark[] {\n return [this._liquidMark];\n }\n}\n\nexport const registerLiquidSeries = () => {\n registerLiquidMark();\n registerGroupMark();\n registerLiquidAnimation();\n Factory.registerSeries(LiquidSeries.type, LiquidSeries);\n};\n"]}
@@ -9,7 +9,7 @@ const tooltip_helper_1 = require("../base/tooltip-helper"), vutils_1 = require("
9
9
  class SankeySeriesTooltipHelper extends tooltip_helper_1.BaseSeriesTooltipHelper {
10
10
  constructor() {
11
11
  super(...arguments), this._getDimensionData = datum => {
12
- if (datum.source) {
12
+ if (!(0, vutils_1.isNil)(null == datum ? void 0 : datum.source) && !(0, vutils_1.isNil)(null == datum ? void 0 : datum.target)) {
13
13
  if ((0, vutils_1.isNumber)(datum.source)) {
14
14
  const seriesKeys = this.series.getSeriesKeys();
15
15
  return seriesKeys[datum.source] + " => " + seriesKeys[datum.target];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sankey/tooltip-helper.ts"],"names":[],"mappings":";;;AACA,2DAAiE;AAEjE,6CAA4C;AAE5C,MAAa,yBAA0B,SAAQ,wCAAuB;IAAtE;;QACY,sBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC/C,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACrE;gBACD,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aAC7C;YACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpF,CAAC,CAAC;QAEF,6BAAwB,GAAG,CAAC,KAAY,EAAsB,EAAE;YAC9D,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;CAAA;AAfD,8DAeC","file":"tooltip-helper.js","sourcesContent":["import type { ISeriesTooltipHelper } from '../interface';\nimport { BaseSeriesTooltipHelper } from '../base/tooltip-helper';\nimport type { Datum } from '@visactor/vgrammar-core';\nimport { isNumber } from '@visactor/vutils';\n\nexport class SankeySeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {\n protected _getDimensionData = (datum: any) => {\n if (datum.source) {\n if (isNumber(datum.source)) {\n const seriesKeys = this.series.getSeriesKeys();\n return seriesKeys[datum.source] + ' => ' + seriesKeys[datum.target];\n }\n return datum.source + ' => ' + datum.target;\n }\n return datum.datum ? datum.datum[this.series.getSpec().categoryField] : datum.key;\n };\n\n markTooltipValueCallback = (datum: Datum): string | undefined => {\n return datum.value;\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/series/sankey/tooltip-helper.ts"],"names":[],"mappings":";;;AACA,2DAAiE;AAEjE,6CAAmD;AAEnD,MAAa,yBAA0B,SAAQ,wCAAuB;IAAtE;;QACY,sBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE;YAC3C,IAAI,CAAC,IAAA,cAAK,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,IAAI,CAAC,IAAA,cAAK,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,EAAE;gBAClD,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC/C,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACrE;gBACD,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aAC7C;YACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpF,CAAC,CAAC;QAEF,6BAAwB,GAAG,CAAC,KAAY,EAAsB,EAAE;YAC9D,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;CAAA;AAfD,8DAeC","file":"tooltip-helper.js","sourcesContent":["import type { ISeriesTooltipHelper } from '../interface';\nimport { BaseSeriesTooltipHelper } from '../base/tooltip-helper';\nimport type { Datum } from '@visactor/vgrammar-core';\nimport { isNil, isNumber } from '@visactor/vutils';\n\nexport class SankeySeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {\n protected _getDimensionData = (datum: any) => {\n if (!isNil(datum?.source) && !isNil(datum?.target)) {\n if (isNumber(datum.source)) {\n const seriesKeys = this.series.getSeriesKeys();\n return seriesKeys[datum.source] + ' => ' + seriesKeys[datum.target];\n }\n return datum.source + ' => ' + datum.target;\n }\n return datum.datum ? datum.datum[this.series.getSpec().categoryField] : datum.key;\n };\n\n markTooltipValueCallback = (datum: Datum): string | undefined => {\n return datum.value;\n };\n}\n"]}
@@ -103,7 +103,9 @@ export class LiquidSeries extends BaseSeries {
103
103
  this._reverse = null !== (_a = this._spec.reverse) && void 0 !== _a && _a, this._maskShape = null !== (_b = this._spec.maskShape) && void 0 !== _b ? _b : "circle";
104
104
  }
105
105
  viewDataUpdate(d) {
106
- super.viewDataUpdate(d), this._heightRatio = max(...this._data.getLatestData().map((d => d[this._valueField])));
106
+ super.viewDataUpdate(d);
107
+ const heightRatio = max(...this._data.getLatestData().map((d => d[this._valueField])));
108
+ this._heightRatio = heightRatio > 1 ? 1 : heightRatio;
107
109
  }
108
110
  initMark() {
109
111
  this._initLiquidOutlineMark(), this._initLiquidBackgroundMark(), this._initLiquidMark();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/liquid/liquid.ts"],"names":[],"mappings":"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","file":"liquid.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, max } from '@visactor/vutils';\nimport type { Datum, ILiquidMarkSpec, IPoint } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { ILiquidPadding, ILiquidSeriesSpec, LiquidAppearPreset, LiquidShapeType } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IGroupMark, IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { ChartEvent } from '../../constant/event';\nimport { BaseSeries } from '../base';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerGroupMark } from '../../mark/group';\nimport { getShapes } from './util';\nimport { createRect, createSymbol } from '@visactor/vrender-core';\nimport { labelSmartInvert } from '@visactor/vrender-components';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport { LiquidSeriesTooltipHelper } from './tooltip-helper';\n\nexport type ILiquidMark = IMarkRaw<ILiquidMarkSpec>;\nexport class LiquidSeries<T extends ILiquidSeriesSpec = ILiquidSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = SeriesTypeEnum.liquid;\n type = SeriesTypeEnum.liquid;\n\n static readonly mark: SeriesMarkMap = LiquidSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n private _liquidGroupMark?: IGroupMark;\n private _liquidMark?: ILiquidMark;\n private _liquidBackgroundMark?: IGroupMark | null = null;\n private _liquidOutlineMark?: IGroupMark | null = null;\n private _paddingSpec?: ILiquidPadding;\n private _marginSpec?: ILiquidPadding;\n\n private _heightRatio?: number;\n\n private _reverse?: boolean;\n private _maskShape?: LiquidShapeType;\n\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n getValueField() {\n return this._valueField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._marginSpec = normalizeLayoutPaddingSpec(this._spec.outlineMargin) as ILiquidPadding;\n this._paddingSpec = normalizeLayoutPaddingSpec(this._spec.outlinePadding) as ILiquidPadding;\n this.setValueField(this._spec.valueField);\n this._reverse = this._spec.reverse ?? false;\n this._maskShape = this._spec.maskShape ?? 'circle';\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._heightRatio = max(...this._data.getLatestData().map((d: Datum) => d[this._valueField]));\n }\n\n initMark(): void {\n this._initLiquidOutlineMark();\n this._initLiquidBackgroundMark();\n this._initLiquidMark();\n }\n\n initMarkStyle(): void {\n this._initLiquidOutlineMarkStyle();\n this._initLiquidBackgroundMarkStyle();\n this._initLiquidMarkStyle();\n }\n\n private _initLiquidOutlineMark() {\n this._liquidOutlineMark = this._createMark(LiquidSeries.mark.liquidOutline, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidOutlineMark;\n }\n\n private _initLiquidBackgroundMark() {\n this._liquidBackgroundMark = this._createMark(LiquidSeries.mark.liquidBackground, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidBackgroundMark;\n }\n\n private _initLiquidMark() {\n this._liquidGroupMark = this._createMark(LiquidSeries.mark.liquidGroup, {\n parent: this._liquidBackgroundMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {\n parent: this._liquidGroupMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as ILiquidMark;\n return this._liquidMark;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n this._markAttributeContext.getLiquidBackPosAndSize = this._getLiquidBackPosAndSize;\n this._markAttributeContext.getLiquidPosY = this._getLiquidPosY;\n this._markAttributeContext.getLiquidHeight = this._getLiquidHeight;\n }\n\n private _getLiquidPosY = () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = liquidBackHeight * this._heightRatio;\n } else {\n liquidY = liquidBackHeight * (1 - this._heightRatio);\n }\n return liquidY + startY;\n };\n\n private _getLiquidHeight = () => {\n const { height: liquidBackHeight } = this._getLiquidBackPosAndSize();\n return liquidBackHeight * this._heightRatio;\n };\n\n private _getLiquidBackPosAndSize = (isOutline: boolean = false) => {\n let {\n top: marginTop = 0,\n bottom: marginBottom = 0,\n // eslint-disable-next-line prefer-const\n left: marginLeft = 0,\n // eslint-disable-next-line prefer-const\n right: marginRight = 0\n } = this._marginSpec;\n let {\n top: paddingTop = 0,\n bottom: paddingBottom = 0,\n // eslint-disable-next-line prefer-const\n left: paddingLeft = 0,\n // eslint-disable-next-line prefer-const\n right: paddingRight = 0\n } = isOutline ? {} : this._paddingSpec;\n\n // 纠偏:对于正三角形而言, 上下留取相同的padidng/margin, 视觉上会看到下面留取的空白大于上面\n // 正确的做法是保持正三角形在60度方向上空白一致,换算到bottom就是/Math.sqrt(3), 换算到top就是 value/Math.sqrt(3)*2\n if (this._maskShape === 'triangle') {\n marginBottom = marginBottom / Math.sqrt(3);\n marginTop = (marginTop / Math.sqrt(3)) * 2;\n paddingBottom = paddingBottom / Math.sqrt(3);\n paddingTop = (paddingTop / Math.sqrt(3)) * 2;\n }\n\n const { width: regionWidth, height: regionHeight } = this._region?.getLayoutRect() ?? { width: 0, height: 0 };\n\n const deltaX = (marginLeft + paddingLeft - (marginRight + paddingRight)) / 2;\n const deltaY = (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2;\n const x = regionWidth / 2 + deltaX;\n const y = regionHeight / 2 + deltaY;\n\n // 用于rect mark style\n let width = regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight);\n let height = regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom);\n // console.log('regionWidth', regionWidth, regionHeight)\n\n // 用于symbol mark style\n const size = Math.min(width, height);\n if (this._maskShape !== 'rect') {\n width = size;\n height = size;\n }\n\n return {\n x,\n y,\n size,\n width,\n height,\n startX: x - width / 2,\n startY: y - height / 2,\n endX: x + width / 2,\n endY: y + height / 2\n };\n };\n\n private _getLiquidBackPath = (isOutline: boolean = false) => {\n let symbolPath;\n if (this._maskShape === 'rect') {\n const { x, y, width, height } = this._getLiquidBackPosAndSize(isOutline);\n symbolPath = createRect({\n x: x - width / 2,\n y: y - height / 2,\n width,\n height,\n fill: true\n });\n } else {\n const { x, y, size } = this._getLiquidBackPosAndSize(isOutline);\n // console.log('size', size)\n symbolPath = createSymbol({\n x,\n y,\n size,\n symbolType: getShapes(this._spec.maskShape ?? 'circle', size),\n fill: true\n });\n }\n return [symbolPath];\n };\n\n private _initLiquidOutlineMarkStyle() {\n const liquidOutlineMark = this._liquidOutlineMark;\n liquidOutlineMark.created();\n this.setMarkStyle(\n liquidOutlineMark,\n {\n stroke: this.getColorAttribute(),\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath(true)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidOutlineMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex });\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n // rect mark x,y 指定左上角\n this.setMarkStyle(\n liquidBackgroundMark,\n {\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidBackgroundMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex, clip: true });\n }\n\n private _initLiquidMarkStyle() {\n const liquidMark = this._liquidMark;\n const liquidGroupMark = this._liquidGroupMark;\n if (liquidGroupMark) {\n this.setMarkStyle(liquidGroupMark, {\n x: () => {\n return this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2;\n },\n angle: this._reverse ? -Math.PI : 0,\n y: 0,\n dy: this._getLiquidPosY\n });\n }\n if (liquidMark) {\n // liquid mark x, y 指定左上角\n this.setMarkStyle(\n liquidMark,\n {\n // wave图元设置y后, 3个子area图元的point发生变化, 但vrender的渐变区域没有变化, 待vrender修复\n // 目前先采用下列方法配置:\n // 1. y强制指定为0, 保证图元不超出vrender的渐变区域\n // 2. 在外面包一层group图元, 使用group dy做偏移, 保证vrender渐变区域随图元位置变化而更新\n y: 0,\n dy: 0,\n height: this._getLiquidHeight,\n fill: this.getColorAttribute(),\n wave: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LiquidSeriesTooltipHelper(this);\n this._liquidMark && this._tooltipHelper.activeTriggerSet.mark.add(this._liquidMark);\n }\n\n initInteraction(): void {\n this._parseInteractionConfig(this._liquidMark ? [this._liquidMark] : []);\n }\n\n initAnimation() {\n const animationParams = {\n height: {\n from: 0,\n to: () => {\n return this._getLiquidHeight();\n }\n },\n dy: {\n from: () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = 0;\n } else {\n liquidY = liquidBackHeight;\n }\n return liquidY + startY;\n }\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LiquidAppearPreset>)?.preset;\n this._liquidMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquid')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquid, this._spec, this._markAttributeContext)\n )\n );\n this._liquidGroupMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquidGroup')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquidGroup, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initEvent(): void {\n super.initEvent();\n if (!this._spec.indicatorSmartInvert || !this._option.getChart().getComponentsByKey('indicator')) {\n return;\n }\n this.event.on(ChartEvent.renderFinished, () => {\n this._option\n .getChart()\n .getComponentsByKey('indicator')\n .forEach((indicatorComponent: any) => {\n // wave item比较特殊, 由wave1、wave2、wave3在x方向上偏移叠加而成\n // 由于在水波图中只需要判断y方向上是否重叠, 所以此处取wave1做y方向上对比\n const grammarMark = this._liquidMark.getProduct();\n const waveItem = (grammarMark.elements[0] as any).glyphGraphicItems.wave1;\n let { y1: waveY1, y2: waveY2 } = waveItem.globalAABBBounds;\n waveY1 += this._region.getLayoutStartPoint().y;\n waveY2 += this._region.getLayoutStartPoint().y;\n indicatorComponent\n ?.getIndicatorComponent()\n ?.getChildren()[0]\n ?.getChildren()\n .forEach((text: any) => {\n const { y1: textY1, y2: textY2 } = text.globalAABBBounds;\n if (waveY1 < textY1 && waveY2 > textY2) {\n const foregroundColor = text.attribute.fill;\n const backgroundColor = waveItem.attribute.fill;\n const invertColor = labelSmartInvert(foregroundColor, backgroundColor);\n text.setAttribute('fill', invertColor);\n }\n });\n });\n });\n }\n\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: Datum): number {\n return null;\n }\n dataToPositionY(data: Datum): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\n getStatisticFields(): any[] {\n return [];\n }\n\n getGroupFields(): string[] {\n return [];\n }\n getStackGroupFields(): string[] {\n return [];\n }\n getStackValueField(): string {\n return '';\n }\n\n getActiveMarks(): IMark[] {\n return [this._liquidMark];\n }\n}\n\nexport const registerLiquidSeries = () => {\n registerLiquidMark();\n registerGroupMark();\n registerLiquidAnimation();\n Factory.registerSeries(LiquidSeries.type, LiquidSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/liquid/liquid.ts"],"names":[],"mappings":"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","file":"liquid.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, max } from '@visactor/vutils';\nimport type { Datum, ILiquidMarkSpec, IPoint } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { ILiquidPadding, ILiquidSeriesSpec, LiquidAppearPreset, LiquidShapeType } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IGroupMark, IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { ChartEvent } from '../../constant/event';\nimport { BaseSeries } from '../base';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerGroupMark } from '../../mark/group';\nimport { getShapes } from './util';\nimport { createRect, createSymbol } from '@visactor/vrender-core';\nimport { labelSmartInvert } from '@visactor/vrender-components';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport { LiquidSeriesTooltipHelper } from './tooltip-helper';\n\nexport type ILiquidMark = IMarkRaw<ILiquidMarkSpec>;\nexport class LiquidSeries<T extends ILiquidSeriesSpec = ILiquidSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = SeriesTypeEnum.liquid;\n type = SeriesTypeEnum.liquid;\n\n static readonly mark: SeriesMarkMap = LiquidSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n private _liquidGroupMark?: IGroupMark;\n private _liquidMark?: ILiquidMark;\n private _liquidBackgroundMark?: IGroupMark | null = null;\n private _liquidOutlineMark?: IGroupMark | null = null;\n private _paddingSpec?: ILiquidPadding;\n private _marginSpec?: ILiquidPadding;\n\n private _heightRatio?: number;\n\n private _reverse?: boolean;\n private _maskShape?: LiquidShapeType;\n\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n getValueField() {\n return this._valueField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._marginSpec = normalizeLayoutPaddingSpec(this._spec.outlineMargin) as ILiquidPadding;\n this._paddingSpec = normalizeLayoutPaddingSpec(this._spec.outlinePadding) as ILiquidPadding;\n this.setValueField(this._spec.valueField);\n this._reverse = this._spec.reverse ?? false;\n this._maskShape = this._spec.maskShape ?? 'circle';\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n const heightRatio = max(...this._data.getLatestData().map((d: Datum) => d[this._valueField]));\n this._heightRatio = heightRatio > 1 ? 1 : heightRatio;\n }\n\n initMark(): void {\n this._initLiquidOutlineMark();\n this._initLiquidBackgroundMark();\n this._initLiquidMark();\n }\n\n initMarkStyle(): void {\n this._initLiquidOutlineMarkStyle();\n this._initLiquidBackgroundMarkStyle();\n this._initLiquidMarkStyle();\n }\n\n private _initLiquidOutlineMark() {\n this._liquidOutlineMark = this._createMark(LiquidSeries.mark.liquidOutline, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidOutlineMark;\n }\n\n private _initLiquidBackgroundMark() {\n this._liquidBackgroundMark = this._createMark(LiquidSeries.mark.liquidBackground, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidBackgroundMark;\n }\n\n private _initLiquidMark() {\n this._liquidGroupMark = this._createMark(LiquidSeries.mark.liquidGroup, {\n parent: this._liquidBackgroundMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {\n parent: this._liquidGroupMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as ILiquidMark;\n return this._liquidMark;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n this._markAttributeContext.getLiquidBackPosAndSize = this._getLiquidBackPosAndSize;\n this._markAttributeContext.getLiquidPosY = this._getLiquidPosY;\n this._markAttributeContext.getLiquidHeight = this._getLiquidHeight;\n }\n\n private _getLiquidPosY = () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = liquidBackHeight * this._heightRatio;\n } else {\n liquidY = liquidBackHeight * (1 - this._heightRatio);\n }\n return liquidY + startY;\n };\n\n private _getLiquidHeight = () => {\n const { height: liquidBackHeight } = this._getLiquidBackPosAndSize();\n return liquidBackHeight * this._heightRatio;\n };\n\n private _getLiquidBackPosAndSize = (isOutline: boolean = false) => {\n let {\n top: marginTop = 0,\n bottom: marginBottom = 0,\n // eslint-disable-next-line prefer-const\n left: marginLeft = 0,\n // eslint-disable-next-line prefer-const\n right: marginRight = 0\n } = this._marginSpec;\n let {\n top: paddingTop = 0,\n bottom: paddingBottom = 0,\n // eslint-disable-next-line prefer-const\n left: paddingLeft = 0,\n // eslint-disable-next-line prefer-const\n right: paddingRight = 0\n } = isOutline ? {} : this._paddingSpec;\n\n // 纠偏:对于正三角形而言, 上下留取相同的padidng/margin, 视觉上会看到下面留取的空白大于上面\n // 正确的做法是保持正三角形在60度方向上空白一致,换算到bottom就是/Math.sqrt(3), 换算到top就是 value/Math.sqrt(3)*2\n if (this._maskShape === 'triangle') {\n marginBottom = marginBottom / Math.sqrt(3);\n marginTop = (marginTop / Math.sqrt(3)) * 2;\n paddingBottom = paddingBottom / Math.sqrt(3);\n paddingTop = (paddingTop / Math.sqrt(3)) * 2;\n }\n\n const { width: regionWidth, height: regionHeight } = this._region?.getLayoutRect() ?? { width: 0, height: 0 };\n\n const deltaX = (marginLeft + paddingLeft - (marginRight + paddingRight)) / 2;\n const deltaY = (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2;\n const x = regionWidth / 2 + deltaX;\n const y = regionHeight / 2 + deltaY;\n\n // 用于rect mark style\n let width = regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight);\n let height = regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom);\n // console.log('regionWidth', regionWidth, regionHeight)\n\n // 用于symbol mark style\n const size = Math.min(width, height);\n if (this._maskShape !== 'rect') {\n width = size;\n height = size;\n }\n\n return {\n x,\n y,\n size,\n width,\n height,\n startX: x - width / 2,\n startY: y - height / 2,\n endX: x + width / 2,\n endY: y + height / 2\n };\n };\n\n private _getLiquidBackPath = (isOutline: boolean = false) => {\n let symbolPath;\n if (this._maskShape === 'rect') {\n const { x, y, width, height } = this._getLiquidBackPosAndSize(isOutline);\n symbolPath = createRect({\n x: x - width / 2,\n y: y - height / 2,\n width,\n height,\n fill: true\n });\n } else {\n const { x, y, size } = this._getLiquidBackPosAndSize(isOutline);\n // console.log('size', size)\n symbolPath = createSymbol({\n x,\n y,\n size,\n symbolType: getShapes(this._spec.maskShape ?? 'circle', size),\n fill: true\n });\n }\n return [symbolPath];\n };\n\n private _initLiquidOutlineMarkStyle() {\n const liquidOutlineMark = this._liquidOutlineMark;\n liquidOutlineMark.created();\n this.setMarkStyle(\n liquidOutlineMark,\n {\n stroke: this.getColorAttribute(),\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath(true)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidOutlineMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex });\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n // rect mark x,y 指定左上角\n this.setMarkStyle(\n liquidBackgroundMark,\n {\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidBackgroundMark.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex, clip: true });\n }\n\n private _initLiquidMarkStyle() {\n const liquidMark = this._liquidMark;\n const liquidGroupMark = this._liquidGroupMark;\n if (liquidGroupMark) {\n this.setMarkStyle(liquidGroupMark, {\n x: () => {\n return this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2;\n },\n angle: this._reverse ? -Math.PI : 0,\n y: 0,\n dy: this._getLiquidPosY\n });\n }\n if (liquidMark) {\n // liquid mark x, y 指定左上角\n this.setMarkStyle(\n liquidMark,\n {\n // wave图元设置y后, 3个子area图元的point发生变化, 但vrender的渐变区域没有变化, 待vrender修复\n // 目前先采用下列方法配置:\n // 1. y强制指定为0, 保证图元不超出vrender的渐变区域\n // 2. 在外面包一层group图元, 使用group dy做偏移, 保证vrender渐变区域随图元位置变化而更新\n y: 0,\n dy: 0,\n height: this._getLiquidHeight,\n fill: this.getColorAttribute(),\n wave: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LiquidSeriesTooltipHelper(this);\n this._liquidMark && this._tooltipHelper.activeTriggerSet.mark.add(this._liquidMark);\n }\n\n initInteraction(): void {\n this._parseInteractionConfig(this._liquidMark ? [this._liquidMark] : []);\n }\n\n initAnimation() {\n const animationParams = {\n height: {\n from: 0,\n to: () => {\n return this._getLiquidHeight();\n }\n },\n dy: {\n from: () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = 0;\n } else {\n liquidY = liquidBackHeight;\n }\n return liquidY + startY;\n }\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LiquidAppearPreset>)?.preset;\n this._liquidMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquid')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquid, this._spec, this._markAttributeContext)\n )\n );\n this._liquidGroupMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquidGroup')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquidGroup, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initEvent(): void {\n super.initEvent();\n if (!this._spec.indicatorSmartInvert || !this._option.getChart().getComponentsByKey('indicator')) {\n return;\n }\n this.event.on(ChartEvent.renderFinished, () => {\n this._option\n .getChart()\n .getComponentsByKey('indicator')\n .forEach((indicatorComponent: any) => {\n // wave item比较特殊, 由wave1、wave2、wave3在x方向上偏移叠加而成\n // 由于在水波图中只需要判断y方向上是否重叠, 所以此处取wave1做y方向上对比\n const grammarMark = this._liquidMark.getProduct();\n const waveItem = (grammarMark.elements[0] as any).glyphGraphicItems.wave1;\n let { y1: waveY1, y2: waveY2 } = waveItem.globalAABBBounds;\n waveY1 += this._region.getLayoutStartPoint().y;\n waveY2 += this._region.getLayoutStartPoint().y;\n indicatorComponent\n ?.getIndicatorComponent()\n ?.getChildren()[0]\n ?.getChildren()\n .forEach((text: any) => {\n const { y1: textY1, y2: textY2 } = text.globalAABBBounds;\n if (waveY1 < textY1 && waveY2 > textY2) {\n const foregroundColor = text.attribute.fill;\n const backgroundColor = waveItem.attribute.fill;\n const invertColor = labelSmartInvert(foregroundColor, backgroundColor);\n text.setAttribute('fill', invertColor);\n }\n });\n });\n });\n }\n\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: Datum): number {\n return null;\n }\n dataToPositionY(data: Datum): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\n getStatisticFields(): any[] {\n return [];\n }\n\n getGroupFields(): string[] {\n return [];\n }\n getStackGroupFields(): string[] {\n return [];\n }\n getStackValueField(): string {\n return '';\n }\n\n getActiveMarks(): IMark[] {\n return [this._liquidMark];\n }\n}\n\nexport const registerLiquidSeries = () => {\n registerLiquidMark();\n registerGroupMark();\n registerLiquidAnimation();\n Factory.registerSeries(LiquidSeries.type, LiquidSeries);\n};\n"]}
@@ -1,11 +1,11 @@
1
1
  import { BaseSeriesTooltipHelper } from "../base/tooltip-helper";
2
2
 
3
- import { isNumber } from "@visactor/vutils";
3
+ import { isNil, isNumber } from "@visactor/vutils";
4
4
 
5
5
  export class SankeySeriesTooltipHelper extends BaseSeriesTooltipHelper {
6
6
  constructor() {
7
7
  super(...arguments), this._getDimensionData = datum => {
8
- if (datum.source) {
8
+ if (!isNil(null == datum ? void 0 : datum.source) && !isNil(null == datum ? void 0 : datum.target)) {
9
9
  if (isNumber(datum.source)) {
10
10
  const seriesKeys = this.series.getSeriesKeys();
11
11
  return seriesKeys[datum.source] + " => " + seriesKeys[datum.target];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sankey/tooltip-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,OAAO,yBAA0B,SAAQ,uBAAuB;IAAtE;;QACY,sBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC/C,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACrE;gBACD,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aAC7C;YACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpF,CAAC,CAAC;QAEF,6BAAwB,GAAG,CAAC,KAAY,EAAsB,EAAE;YAC9D,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ISeriesTooltipHelper } from '../interface';\nimport { BaseSeriesTooltipHelper } from '../base/tooltip-helper';\nimport type { Datum } from '@visactor/vgrammar-core';\nimport { isNumber } from '@visactor/vutils';\n\nexport class SankeySeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {\n protected _getDimensionData = (datum: any) => {\n if (datum.source) {\n if (isNumber(datum.source)) {\n const seriesKeys = this.series.getSeriesKeys();\n return seriesKeys[datum.source] + ' => ' + seriesKeys[datum.target];\n }\n return datum.source + ' => ' + datum.target;\n }\n return datum.datum ? datum.datum[this.series.getSpec().categoryField] : datum.key;\n };\n\n markTooltipValueCallback = (datum: Datum): string | undefined => {\n return datum.value;\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/series/sankey/tooltip-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,OAAO,yBAA0B,SAAQ,uBAAuB;IAAtE;;QACY,sBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,EAAE;gBAClD,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC/C,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACrE;gBACD,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aAC7C;YACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpF,CAAC,CAAC;QAEF,6BAAwB,GAAG,CAAC,KAAY,EAAsB,EAAE;YAC9D,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ISeriesTooltipHelper } from '../interface';\nimport { BaseSeriesTooltipHelper } from '../base/tooltip-helper';\nimport type { Datum } from '@visactor/vgrammar-core';\nimport { isNil, isNumber } from '@visactor/vutils';\n\nexport class SankeySeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {\n protected _getDimensionData = (datum: any) => {\n if (!isNil(datum?.source) && !isNil(datum?.target)) {\n if (isNumber(datum.source)) {\n const seriesKeys = this.series.getSeriesKeys();\n return seriesKeys[datum.source] + ' => ' + seriesKeys[datum.target];\n }\n return datum.source + ' => ' + datum.target;\n }\n return datum.datum ? datum.datum[this.series.getSpec().categoryField] : datum.key;\n };\n\n markTooltipValueCallback = (datum: Datum): string | undefined => {\n return datum.value;\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart",
3
- "version": "1.13.25",
3
+ "version": "1.13.27",
4
4
  "description": "charts lib based @visactor/VGrammar",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -81,9 +81,9 @@
81
81
  "@size-limit/file": "9.0.0",
82
82
  "rimraf": "3.0.2",
83
83
  "cross-env": "^7.0.3",
84
- "@internal/ts-config": "0.0.1",
85
84
  "@internal/bundler": "0.0.1",
86
85
  "@internal/eslint-config": "0.0.1",
86
+ "@internal/ts-config": "0.0.1",
87
87
  "@internal/typescript-json-schema": "0.0.1"
88
88
  },
89
89
  "dependencies": {
@@ -101,7 +101,7 @@
101
101
  "@visactor/vgrammar-sankey": "0.16.17",
102
102
  "@visactor/vgrammar-venn": "0.16.17",
103
103
  "@visactor/vgrammar-util": "0.16.17",
104
- "@visactor/vutils-extension": "1.13.25"
104
+ "@visactor/vutils-extension": "1.13.27"
105
105
  },
106
106
  "publishConfig": {
107
107
  "access": "public",