@visactor/vchart 2.1.0-alpha.10 → 2.1.0-alpha.12

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 (60) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +37 -12
  3. package/build/index.js +37 -12
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/component/legend/base-legend.js +1 -1
  7. package/cjs/component/legend/base-legend.js.map +1 -1
  8. package/cjs/component/marker/base-marker.js +11 -7
  9. package/cjs/component/marker/base-marker.js.map +1 -1
  10. package/cjs/component/marker/mark-point/base-mark-point.js +8 -7
  11. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  12. package/cjs/constant/funnel.js +1 -2
  13. package/cjs/constant/scatter.js +2 -1
  14. package/cjs/constant/scroll-bar.js +1 -1
  15. package/cjs/constant/sunburst.js +1 -1
  16. package/cjs/constant/waterfall.js +1 -1
  17. package/cjs/constant/word-cloud.js +1 -1
  18. package/cjs/core/expression-function.js +1 -1
  19. package/cjs/core/factory.js +1 -1
  20. package/cjs/core/index.js +1 -1
  21. package/cjs/core/instance-manager.js +1 -1
  22. package/cjs/core/interface.js +1 -1
  23. package/cjs/core/util.js +1 -1
  24. package/cjs/core/vchart.js +1 -1
  25. package/cjs/data/data-view-utils.js +1 -1
  26. package/cjs/data/initialize.js +1 -1
  27. package/cjs/data/register.js +1 -1
  28. package/cjs/mark/base/base-line.js +2 -2
  29. package/cjs/mark/base/base-line.js.map +1 -1
  30. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  31. package/cjs/series/waterfall/waterfall.js +12 -4
  32. package/cjs/series/waterfall/waterfall.js.map +1 -1
  33. package/esm/component/legend/base-legend.js +1 -1
  34. package/esm/component/legend/base-legend.js.map +1 -1
  35. package/esm/component/marker/base-marker.js +11 -7
  36. package/esm/component/marker/base-marker.js.map +1 -1
  37. package/esm/component/marker/mark-point/base-mark-point.js +7 -7
  38. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  39. package/esm/constant/funnel.js +1 -2
  40. package/esm/constant/scatter.js +2 -1
  41. package/esm/constant/scroll-bar.js +1 -1
  42. package/esm/constant/sunburst.js +1 -1
  43. package/esm/constant/waterfall.js +1 -1
  44. package/esm/constant/word-cloud.js +1 -1
  45. package/esm/core/expression-function.js +1 -1
  46. package/esm/core/factory.js +1 -1
  47. package/esm/core/index.js +1 -1
  48. package/esm/core/instance-manager.js +1 -1
  49. package/esm/core/interface.js +1 -1
  50. package/esm/core/util.js +1 -1
  51. package/esm/core/vchart.js +1 -1
  52. package/esm/data/data-view-utils.js +1 -1
  53. package/esm/data/initialize.js +1 -1
  54. package/esm/data/register.js +1 -1
  55. package/esm/mark/base/base-line.js +2 -2
  56. package/esm/mark/base/base-line.js.map +1 -1
  57. package/esm/series/waterfall/waterfall.d.ts +2 -0
  58. package/esm/series/waterfall/waterfall.js +12 -4
  59. package/esm/series/waterfall/waterfall.js.map +1 -1
  60. package/package.json +4 -4
@@ -182,7 +182,7 @@ class BaseLegend extends base_component_1.BaseComponent {
182
182
  return [ this._legendComponent ];
183
183
  }
184
184
  clear() {
185
- super.clear(), this._cacheAttrs = null, this._preSelectedData = null;
185
+ super.clear(), this._legendComponent = null, this._cacheAttrs = null, this._preSelectedData = null;
186
186
  }
187
187
  }
188
188
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/legend/base-legend.ts"],"names":[],"mappings":"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","file":"base-legend.js","sourcesContent":["import { isNil, isEqual, isValid, array, isValidNumber } from '@visactor/vutils';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { IEffect } from '../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILayoutRect, ILayoutType, IOrientType, IPoint, StringOrNumber } from '../../typings';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { ChartEvent } from '../../constant/event';\nimport { eachSeries } from '../../util/model';\nimport { isValidOrient } from '../../util/space';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { CompilableData } from '../../compile/data/compilable-data';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILegend, ILegendCommonSpec } from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\n\nconst LEGEND_COMPONENT_ONLY_CHANGE_KEYS: Record<string, true> = {\n position: true,\n item: true,\n title: true,\n pager: true,\n background: true\n};\n\nexport abstract class BaseLegend<T extends ILegendCommonSpec> extends BaseComponent<T> implements ILegend {\n layoutType: ILayoutType = 'normal';\n layoutZIndex: number = LayoutZIndex.Legend;\n layoutLevel: number = LayoutLevel.Legend;\n\n static specKey = 'legends';\n specKey = 'legends';\n\n protected _orient: IOrientType = 'left';\n get orient() {\n return this._orient;\n }\n\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _position: 'start' | 'middle' | 'end' = 'middle';\n get position() {\n return this._position;\n }\n\n protected _legendData!: CompilableData;\n /**\n * 获取图例数据\n * @returns 图例的数据\n */\n getLegendData() {\n return this._legendData.getLatestData();\n }\n\n private _preSelectedData: StringOrNumber[] = [];\n protected _selectedData: StringOrNumber[] = [];\n /**\n * getSelectedData\n */\n getSelectedData() {\n return this._selectedData;\n }\n\n protected _legendComponent: IGroup;\n private _cacheAttrs: any;\n\n effect: IEffect = {\n onSelectedDataChange: () => {\n eachSeries(\n this._regions,\n s => {\n s.getViewData()?.markRunning();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n eachSeries(\n this._regions,\n s => {\n s.reFilterViewData();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionUserIndex?: number[];\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n this._orient = isValidOrient(this._spec.orient) ? this._spec.orient : 'left';\n this._position = this._spec.position ?? 'middle';\n this._visible = this._spec.visible !== false;\n\n const { regionId, regionIndex, seriesId, seriesIndex } = this._spec;\n\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionUserIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId, this._regionUserIndex);\n }\n\n created() {\n super.created();\n // data\n this.initData();\n }\n\n /** Update API **/\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n result.reRender = true;\n const specChanged = !isEqual(prevSpec, spec);\n\n if (result.reMake) {\n return result;\n }\n if (spec?.orient !== prevSpec?.orient) {\n result.reMake = true;\n return result;\n }\n if (specChanged && !result.reCompile && this._isComponentOnlySpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n return result;\n }\n if (specChanged) {\n result.reCompile = true;\n }\n return result;\n }\n\n private _isComponentOnlySpecChange(spec: T, prevSpec: T) {\n const prevSpecRecord = prevSpec as unknown as Record<string, unknown>;\n const specRecord = spec as unknown as Record<string, unknown>;\n const keys = Object.keys({\n ...prevSpec,\n ...spec\n });\n\n return keys.every(key => {\n return isEqual(prevSpecRecord?.[key], specRecord?.[key]) || LEGEND_COMPONENT_ONLY_CHANGE_KEYS[key];\n });\n }\n\n protected abstract _initLegendData(): DataView;\n protected abstract _initSelectedData(): void;\n protected abstract _getLegendAttributes(rect: ILayoutRect): any;\n protected abstract _getLegendConstructor(): any;\n protected abstract _initEvent(): void;\n\n private _bindLegendDataChange() {\n this._preSelectedData = this._selectedData.slice();\n this._initSelectedData();\n this._forceLayout();\n }\n\n protected initData() {\n const legendData = this._initLegendData();\n legendData.target.addListener('change', this._bindLegendDataChange.bind(this));\n this._legendData = new CompilableData(this._option, legendData);\n\n this._initSelectedData();\n eachSeries(\n this._regions,\n s => {\n s.event.on(ChartEvent.rawDataUpdate, { filter: ({ model }) => model?.id === s.id }, () => {\n this._legendData.getDataView().reRunAllTransform({\n skipEqual: true\n });\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n setSelectedData(selectedData: StringOrNumber[]) {\n const lastData = this._selectedData;\n if (isNil(selectedData) || JSON.stringify(lastData) === JSON.stringify(selectedData)) {\n return;\n }\n\n // 更新图例筛选\n eachSeries(\n this._regions,\n s => {\n if (s.legendSelectedFilter) {\n selectedData = s.legendSelectedFilter(this, selectedData);\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._selectedData = [...selectedData];\n // 更新数据\n this.effect.onSelectedDataChange?.();\n this.event.emit(ChartEvent.legendSelectedDataChange, { model: this });\n\n // 更新图例样式\n (this._legendComponent as unknown as any)?.setSelected(this._selectedData);\n }\n\n afterSetLayoutStartPoint(pos: IPoint): void {\n super.afterSetLayoutStartPoint(pos);\n\n if (this._legendComponent) {\n const { x, y } = pos;\n if (isValidNumber(x * y)) {\n this._legendComponent.setAttributes({ x, y });\n }\n }\n }\n\n getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n if (!this._visible) {\n if (this._legendComponent && this._legendComponent.parent) {\n this._legendComponent.parent.removeChild(this._legendComponent);\n this._legendComponent = null;\n }\n return { x1: 0, y1: 0, x2: 0, y2: 0 };\n }\n const result = { x1: this.getLayoutStartPoint().x, y1: this.getLayoutStartPoint().y, x2: 0, y2: 0 };\n const attrs = this._getLegendAttributes(rect);\n attrs.disableTriggerEvent = this._option.disableTriggerEvent;\n if (this._legendComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._legendComponent.setAttributes(\n mergeSpec({}, attrs, {\n defaultSelected: this._selectedData // 图表 resize 之后应该保留上次筛选的结果\n })\n );\n }\n } else {\n const legendConstructor = this._getLegendConstructor();\n const legend = new legendConstructor(\n mergeSpec({}, attrs, {\n defaultSelected: this._selectedData\n })\n );\n legend.name = 'legend';\n this._legendComponent = legend;\n const container = this.getContainer();\n container.add(legend);\n\n // 绑定事件\n if (!this._option.disableTriggerEvent) {\n this._initEvent();\n }\n\n // 代理 legend 上的事件\n legend.on('*', (event: any, type: string) => this._delegateEvent(this._legendComponent, event, type));\n }\n this._cacheAttrs = attrs;\n\n const width = isFinite(this._legendComponent.AABBBounds.width()) ? this._legendComponent.AABBBounds.width() : 0;\n const height = isFinite(this._legendComponent.AABBBounds.height()) ? this._legendComponent.AABBBounds.height() : 0;\n\n if (this.layoutType !== 'normal-inline') {\n // 调整位置\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const position = this._position;\n const { width: rectWidth, height: rectHeight } = fullSpace;\n let offsetX = 0;\n let offsetY = 0;\n if (layout === 'horizontal') {\n if (position === 'middle') {\n offsetX = (rectWidth - width) / 2;\n } else if (position === 'end') {\n offsetX = rectWidth - width;\n }\n } else {\n if (position === 'middle') {\n offsetY = (rectHeight - height) / 2;\n } else if (position === 'end') {\n offsetY = rectHeight - height;\n }\n }\n\n this._legendComponent.setAttributes({\n dx: offsetX,\n dy: offsetY\n });\n }\n\n result.x2 = result.x1 + width;\n result.y2 = result.y1 + height;\n return result;\n }\n\n onDataUpdate(): void {\n if (JSON.stringify(this._preSelectedData) === JSON.stringify(this._selectedData)) {\n return;\n }\n\n if (this._legendComponent) {\n // 更新组件\n const attrs = this._getLegendAttributes(this.getLayoutRect());\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._legendComponent.setAttributes(\n mergeSpec({}, attrs, {\n defaultSelected: this._selectedData // 图表 resize 之后应该保留上次筛选的结果\n })\n );\n }\n }\n // 更新数据流\n this.effect.onSelectedDataChange?.();\n this.event.emit(ChartEvent.legendSelectedDataChange, { model: this });\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._legendComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n super.clear();\n this._cacheAttrs = null;\n this._preSelectedData = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/legend/base-legend.ts"],"names":[],"mappings":"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","file":"base-legend.js","sourcesContent":["import { isNil, isEqual, isValid, array, isValidNumber } from '@visactor/vutils';\nimport type { DataView } from '@visactor/vdataset';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { IEffect } from '../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILayoutRect, ILayoutType, IOrientType, IPoint, StringOrNumber } from '../../typings';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { ChartEvent } from '../../constant/event';\nimport { eachSeries } from '../../util/model';\nimport { isValidOrient } from '../../util/space';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { CompilableData } from '../../compile/data/compilable-data';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ILegend, ILegendCommonSpec } from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\n\nconst LEGEND_COMPONENT_ONLY_CHANGE_KEYS: Record<string, true> = {\n position: true,\n item: true,\n title: true,\n pager: true,\n background: true\n};\n\nexport abstract class BaseLegend<T extends ILegendCommonSpec> extends BaseComponent<T> implements ILegend {\n layoutType: ILayoutType = 'normal';\n layoutZIndex: number = LayoutZIndex.Legend;\n layoutLevel: number = LayoutLevel.Legend;\n\n static specKey = 'legends';\n specKey = 'legends';\n\n protected _orient: IOrientType = 'left';\n get orient() {\n return this._orient;\n }\n\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _position: 'start' | 'middle' | 'end' = 'middle';\n get position() {\n return this._position;\n }\n\n protected _legendData!: CompilableData;\n /**\n * 获取图例数据\n * @returns 图例的数据\n */\n getLegendData() {\n return this._legendData.getLatestData();\n }\n\n private _preSelectedData: StringOrNumber[] = [];\n protected _selectedData: StringOrNumber[] = [];\n /**\n * getSelectedData\n */\n getSelectedData() {\n return this._selectedData;\n }\n\n protected _legendComponent: IGroup;\n private _cacheAttrs: any;\n\n effect: IEffect = {\n onSelectedDataChange: () => {\n eachSeries(\n this._regions,\n s => {\n s.getViewData()?.markRunning();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n eachSeries(\n this._regions,\n s => {\n s.reFilterViewData();\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionUserIndex?: number[];\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n this._orient = isValidOrient(this._spec.orient) ? this._spec.orient : 'left';\n this._position = this._spec.position ?? 'middle';\n this._visible = this._spec.visible !== false;\n\n const { regionId, regionIndex, seriesId, seriesIndex } = this._spec;\n\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionUserIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId, this._regionUserIndex);\n }\n\n created() {\n super.created();\n // data\n this.initData();\n }\n\n /** Update API **/\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n result.reRender = true;\n const specChanged = !isEqual(prevSpec, spec);\n\n if (result.reMake) {\n return result;\n }\n if (spec?.orient !== prevSpec?.orient) {\n result.reMake = true;\n return result;\n }\n if (specChanged && !result.reCompile && this._isComponentOnlySpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n return result;\n }\n if (specChanged) {\n result.reCompile = true;\n }\n return result;\n }\n\n private _isComponentOnlySpecChange(spec: T, prevSpec: T) {\n const prevSpecRecord = prevSpec as unknown as Record<string, unknown>;\n const specRecord = spec as unknown as Record<string, unknown>;\n const keys = Object.keys({\n ...prevSpec,\n ...spec\n });\n\n return keys.every(key => {\n return isEqual(prevSpecRecord?.[key], specRecord?.[key]) || LEGEND_COMPONENT_ONLY_CHANGE_KEYS[key];\n });\n }\n\n protected abstract _initLegendData(): DataView;\n protected abstract _initSelectedData(): void;\n protected abstract _getLegendAttributes(rect: ILayoutRect): any;\n protected abstract _getLegendConstructor(): any;\n protected abstract _initEvent(): void;\n\n private _bindLegendDataChange() {\n this._preSelectedData = this._selectedData.slice();\n this._initSelectedData();\n this._forceLayout();\n }\n\n protected initData() {\n const legendData = this._initLegendData();\n legendData.target.addListener('change', this._bindLegendDataChange.bind(this));\n this._legendData = new CompilableData(this._option, legendData);\n\n this._initSelectedData();\n eachSeries(\n this._regions,\n s => {\n s.event.on(ChartEvent.rawDataUpdate, { filter: ({ model }) => model?.id === s.id }, () => {\n this._legendData.getDataView().reRunAllTransform({\n skipEqual: true\n });\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n setSelectedData(selectedData: StringOrNumber[]) {\n const lastData = this._selectedData;\n if (isNil(selectedData) || JSON.stringify(lastData) === JSON.stringify(selectedData)) {\n return;\n }\n\n // 更新图例筛选\n eachSeries(\n this._regions,\n s => {\n if (s.legendSelectedFilter) {\n selectedData = s.legendSelectedFilter(this, selectedData);\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._selectedData = [...selectedData];\n // 更新数据\n this.effect.onSelectedDataChange?.();\n this.event.emit(ChartEvent.legendSelectedDataChange, { model: this });\n\n // 更新图例样式\n (this._legendComponent as unknown as any)?.setSelected(this._selectedData);\n }\n\n afterSetLayoutStartPoint(pos: IPoint): void {\n super.afterSetLayoutStartPoint(pos);\n\n if (this._legendComponent) {\n const { x, y } = pos;\n if (isValidNumber(x * y)) {\n this._legendComponent.setAttributes({ x, y });\n }\n }\n }\n\n getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n if (!this._visible) {\n if (this._legendComponent && this._legendComponent.parent) {\n this._legendComponent.parent.removeChild(this._legendComponent);\n this._legendComponent = null;\n }\n return { x1: 0, y1: 0, x2: 0, y2: 0 };\n }\n const result = { x1: this.getLayoutStartPoint().x, y1: this.getLayoutStartPoint().y, x2: 0, y2: 0 };\n const attrs = this._getLegendAttributes(rect);\n attrs.disableTriggerEvent = this._option.disableTriggerEvent;\n if (this._legendComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._legendComponent.setAttributes(\n mergeSpec({}, attrs, {\n defaultSelected: this._selectedData // 图表 resize 之后应该保留上次筛选的结果\n })\n );\n }\n } else {\n const legendConstructor = this._getLegendConstructor();\n const legend = new legendConstructor(\n mergeSpec({}, attrs, {\n defaultSelected: this._selectedData\n })\n );\n legend.name = 'legend';\n this._legendComponent = legend;\n const container = this.getContainer();\n container.add(legend);\n\n // 绑定事件\n if (!this._option.disableTriggerEvent) {\n this._initEvent();\n }\n\n // 代理 legend 上的事件\n legend.on('*', (event: any, type: string) => this._delegateEvent(this._legendComponent, event, type));\n }\n this._cacheAttrs = attrs;\n\n const width = isFinite(this._legendComponent.AABBBounds.width()) ? this._legendComponent.AABBBounds.width() : 0;\n const height = isFinite(this._legendComponent.AABBBounds.height()) ? this._legendComponent.AABBBounds.height() : 0;\n\n if (this.layoutType !== 'normal-inline') {\n // 调整位置\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const position = this._position;\n const { width: rectWidth, height: rectHeight } = fullSpace;\n let offsetX = 0;\n let offsetY = 0;\n if (layout === 'horizontal') {\n if (position === 'middle') {\n offsetX = (rectWidth - width) / 2;\n } else if (position === 'end') {\n offsetX = rectWidth - width;\n }\n } else {\n if (position === 'middle') {\n offsetY = (rectHeight - height) / 2;\n } else if (position === 'end') {\n offsetY = rectHeight - height;\n }\n }\n\n this._legendComponent.setAttributes({\n dx: offsetX,\n dy: offsetY\n });\n }\n\n result.x2 = result.x1 + width;\n result.y2 = result.y1 + height;\n return result;\n }\n\n onDataUpdate(): void {\n if (JSON.stringify(this._preSelectedData) === JSON.stringify(this._selectedData)) {\n return;\n }\n\n if (this._legendComponent) {\n // 更新组件\n const attrs = this._getLegendAttributes(this.getLayoutRect());\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._legendComponent.setAttributes(\n mergeSpec({}, attrs, {\n defaultSelected: this._selectedData // 图表 resize 之后应该保留上次筛选的结果\n })\n );\n }\n }\n // 更新数据流\n this.effect.onSelectedDataChange?.();\n this.event.emit(ChartEvent.legendSelectedDataChange, { model: this });\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._legendComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n super.clear();\n this._legendComponent = null;\n this._cacheAttrs = null;\n this._preSelectedData = null;\n }\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.BaseMarker = void 0;
6
6
 
7
- const vdataset_1 = require("@visactor/vdataset"), vutils_1 = require("@visactor/vutils"), base_component_1 = require("../base/base-component"), space_1 = require("../../util/space"), utils_1 = require("./utils"), util_1 = require("../../util"), array_1 = require("../../data/parser/array"), util_2 = require("../util"), register_1 = require("../../data/register"), aggregation_1 = require("../../data/transforms/aggregation"), marker_filter_1 = require("../../data/transforms/marker-filter"), data_view_utils_1 = require("../../data/data-view-utils"), MARKER_FORMAT_METHOD_PLACEHOLDER = "__vchart_marker_format_method__", MARKER_COORDINATE_PLACEHOLDER = "__vchart_marker_coordinate__", MARKER_TEXT_PLACEHOLDER = "__vchart_marker_text__", MARKER_AUTO_RANGE_PLACEHOLDER = "__vchart_marker_auto_range__", MARKER_STYLE_PLACEHOLDER = "__vchart_marker_style__", MARKER_DOMAIN_POSITION_SPEC_KEYS = [ "coordinate", "coordinates", "x", "y", "x1", "y1", "angle", "angle1", "radius", "radius1" ], MARKER_LAYOUT_POSITION_SPEC_KEYS = [ "position", "positions", "coordinatesOffset", "regionRelative" ], normalizeMarkerLabelFormatMethod = label => Array.isArray(label) ? label.map(normalizeMarkerLabelFormatMethod) : label && "object" == typeof label ? "function" != typeof label.formatMethod ? label : Object.assign(Object.assign({}, label), {
7
+ const vdataset_1 = require("@visactor/vdataset"), vutils_1 = require("@visactor/vutils"), base_component_1 = require("../base/base-component"), space_1 = require("../../util/space"), utils_1 = require("./utils"), util_1 = require("../../util"), array_1 = require("../../data/parser/array"), util_2 = require("../util"), register_1 = require("../../data/register"), aggregation_1 = require("../../data/transforms/aggregation"), marker_filter_1 = require("../../data/transforms/marker-filter"), data_view_utils_1 = require("../../data/data-view-utils"), MARKER_FORMAT_METHOD_PLACEHOLDER = "__vchart_marker_format_method__", MARKER_COORDINATE_PLACEHOLDER = "__vchart_marker_coordinate__", MARKER_TEXT_PLACEHOLDER = "__vchart_marker_text__", MARKER_AUTO_RANGE_PLACEHOLDER = "__vchart_marker_auto_range__", MARKER_STYLE_PLACEHOLDER = "__vchart_marker_style__", MARKER_DOMAIN_POSITION_SPEC_KEYS = [ "coordinate", "coordinates", "x", "y", "x1", "y1", "angle", "angle1", "radius", "radius1" ], MARKER_LAYOUT_POSITION_SPEC_KEYS = [ "position", "positions", "coordinatesOffset", "regionRelative" ], MARKER_ITEM_CONTENT_LAYOUT_SPEC_KEYS = [ "offsetX", "offsetY", "confine" ], normalizeMarkerLabelFormatMethod = label => Array.isArray(label) ? label.map(normalizeMarkerLabelFormatMethod) : label && "object" == typeof label ? "function" != typeof label.formatMethod ? label : Object.assign(Object.assign({}, label), {
8
8
  formatMethod: MARKER_FORMAT_METHOD_PLACEHOLDER
9
9
  }) : label, normalizeMarkerStyles = value => {
10
10
  if (Array.isArray(value)) return value.map(normalizeMarkerStyles);
@@ -14,7 +14,6 @@ const vdataset_1 = require("@visactor/vdataset"), vutils_1 = require("@visactor/
14
14
  "style" === key || key.endsWith("Style") ? normalized[key] = MARKER_STYLE_PLACEHOLDER : normalized[key] = normalizeMarkerStyles(normalized[key]);
15
15
  })), normalized;
16
16
  }, normalizeMarkerSpecForComponentOnlyUpdate = (spec, options) => {
17
- var _a;
18
17
  if (!spec || "object" != typeof spec) return spec;
19
18
  const normalized = Object.assign({}, spec);
20
19
  options.normalizeDomainPosition && MARKER_DOMAIN_POSITION_SPEC_KEYS.forEach((key => {
@@ -26,12 +25,17 @@ const vdataset_1 = require("@visactor/vdataset"), vutils_1 = require("@visactor/
26
25
  Object.keys(normalized).forEach((key => {
27
26
  normalized[key] = normalizeMarkerStyles(normalized[key]);
28
27
  }));
29
- const text = null === (_a = normalized.itemContent) || void 0 === _a ? void 0 : _a.text;
30
- return text && "object" == typeof text && (normalized.itemContent = Object.assign(Object.assign({}, normalized.itemContent), {
31
- text: Object.assign(Object.assign({}, normalizeMarkerLabelFormatMethod(text)), {
28
+ const itemContent = normalized.itemContent;
29
+ if (itemContent && "object" == typeof itemContent) {
30
+ normalized.itemContent = Object.assign({}, itemContent), MARKER_ITEM_CONTENT_LAYOUT_SPEC_KEYS.forEach((key => {
31
+ key in normalized.itemContent && (normalized.itemContent[key] = MARKER_COORDINATE_PLACEHOLDER);
32
+ }));
33
+ const text = normalized.itemContent.text;
34
+ text && "object" == typeof text && (normalized.itemContent.text = Object.assign(Object.assign({}, normalizeMarkerLabelFormatMethod(text)), {
32
35
  text: MARKER_TEXT_PLACEHOLDER
33
- })
34
- })), normalized;
36
+ }));
37
+ }
38
+ return normalized;
35
39
  };
36
40
 
37
41
  class BaseMarker extends base_component_1.BaseComponent {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries,\n IMarkProcessOptions\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { markerAggregation } from '../../data/transforms/aggregation';\nimport { markerFilter } from '../../data/transforms/marker-filter';\nimport { releaseDataViewWithDependencies } from '../../data/data-view-utils';\n\nconst MARKER_FORMAT_METHOD_PLACEHOLDER = '__vchart_marker_format_method__';\nconst MARKER_COORDINATE_PLACEHOLDER = '__vchart_marker_coordinate__';\nconst MARKER_TEXT_PLACEHOLDER = '__vchart_marker_text__';\nconst MARKER_AUTO_RANGE_PLACEHOLDER = '__vchart_marker_auto_range__';\nconst MARKER_STYLE_PLACEHOLDER = '__vchart_marker_style__';\nconst MARKER_DOMAIN_POSITION_SPEC_KEYS = [\n 'coordinate',\n 'coordinates',\n 'x',\n 'y',\n 'x1',\n 'y1',\n 'angle',\n 'angle1',\n 'radius',\n 'radius1'\n];\nconst MARKER_LAYOUT_POSITION_SPEC_KEYS = ['position', 'positions', 'coordinatesOffset', 'regionRelative'];\n\nconst normalizeMarkerLabelFormatMethod = (label: any): any => {\n if (Array.isArray(label)) {\n return label.map(normalizeMarkerLabelFormatMethod);\n }\n if (!label || typeof label !== 'object') {\n return label;\n }\n if (typeof label.formatMethod !== 'function') {\n return label;\n }\n return {\n ...label,\n formatMethod: MARKER_FORMAT_METHOD_PLACEHOLDER\n };\n};\n\nconst normalizeMarkerStyles = (value: any): any => {\n if (Array.isArray(value)) {\n return value.map(normalizeMarkerStyles);\n }\n if (!value || typeof value !== 'object') {\n return value;\n }\n\n const normalized = { ...value };\n Object.keys(normalized).forEach(key => {\n if (key === 'style' || key.endsWith('Style')) {\n normalized[key] = MARKER_STYLE_PLACEHOLDER;\n } else {\n normalized[key] = normalizeMarkerStyles(normalized[key]);\n }\n });\n return normalized;\n};\n\nconst normalizeMarkerSpecForComponentOnlyUpdate = (\n spec: any,\n options: { normalizeDomainPosition: boolean; normalizeAutoRange?: boolean }\n) => {\n if (!spec || typeof spec !== 'object') {\n return spec;\n }\n\n const normalized = { ...spec };\n if (options.normalizeDomainPosition) {\n MARKER_DOMAIN_POSITION_SPEC_KEYS.forEach(key => {\n normalized[key] = MARKER_COORDINATE_PLACEHOLDER;\n });\n }\n if (options.normalizeAutoRange && 'autoRange' in normalized) {\n normalized.autoRange = MARKER_AUTO_RANGE_PLACEHOLDER;\n }\n MARKER_LAYOUT_POSITION_SPEC_KEYS.forEach(key => {\n if (key in normalized) {\n normalized[key] = MARKER_COORDINATE_PLACEHOLDER;\n }\n });\n if ('label' in normalized) {\n normalized.label = normalizeMarkerLabelFormatMethod(normalized.label);\n }\n\n Object.keys(normalized).forEach(key => {\n normalized[key] = normalizeMarkerStyles(normalized[key]);\n });\n\n const text = normalized.itemContent?.text;\n if (text && typeof text === 'object') {\n normalized.itemContent = {\n ...normalized.itemContent,\n text: {\n ...normalizeMarkerLabelFormatMethod(text),\n text: MARKER_TEXT_PLACEHOLDER\n }\n };\n }\n\n return normalized;\n};\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n private _markerDataChangeHandler: (() => void) | null = null;\n private _markerDataOwned: boolean = false;\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n protected abstract _computeOptions(): IMarkProcessOptions;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n protected _getAutoRangeExtendDomainKeyPrefix() {\n return `marker_${this.type}_${this.id}`;\n }\n\n private _getAutoRangeExtendDomainKey(axisKey: 'xAxis' | 'yAxis' | 'angleAxis' | 'radiusAxis') {\n return `${this._getAutoRangeExtendDomainKeyPrefix()}_${axisKey}_extend`;\n }\n\n private _clearAutoRangeExtendDomain() {\n const seriesList = array(this._option.getAllSeries?.() as IMarkerSupportSeries[]);\n\n seriesList.forEach((series: any) => {\n series?.getXAxisHelper?.()?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('xAxis'), undefined);\n series?.getYAxisHelper?.()?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('yAxis'), undefined);\n series?.angleAxisHelper?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('angleAxis'), undefined);\n series?.radiusAxisHelper?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('radiusAxis'), undefined);\n });\n }\n\n private _updateMarkerLayout() {\n this._clearAutoRangeExtendDomain();\n this._markerLayout();\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n protected _setMarkerData(data: DataView, owned: boolean = false) {\n this._releaseMarkerData();\n this._markerData = data;\n this._markerDataOwned = owned;\n }\n\n protected _bindMarkerDataChange() {\n if (!this._markerData?.target) {\n return;\n }\n\n this._markerDataChangeHandler = () => {\n this._updateMarkerLayout();\n };\n this._markerData.target.on('change', this._markerDataChangeHandler);\n }\n\n private _releaseMarkerData() {\n const markerData = this._markerData;\n\n if (markerData?.target && this._markerDataChangeHandler) {\n markerData.target.removeListener('change', this._markerDataChangeHandler);\n }\n this._markerDataChangeHandler = null;\n\n if (this._markerDataOwned) {\n releaseDataViewWithDependencies(markerData, dataView => dataView.name === `${this.type}_${this.id}_data`);\n }\n this._markerData = null as unknown as DataView;\n this._markerDataOwned = false;\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._updateMarkerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._updateMarkerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._updateMarkerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._updateMarkerLayout.bind(this));\n }\n }\n\n clear(): void {\n super.clear();\n this._markerComponent = null;\n this._firstSeries = null;\n }\n\n release(): void {\n this._releaseMarkerData();\n super.release();\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.change = true;\n if (!result.reMake && !result.reCompile && this._isComponentOnlySpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n } else if (!result.reMake && !result.reCompile && this._isAutoRangeSpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n scaleDomain: true,\n layout: true,\n render: true\n };\n } else {\n result.reMake = true;\n }\n }\n return result;\n }\n\n protected _isComponentOnlySpecChange(spec: T, prevSpec: T) {\n const normalizeDomainPosition = !spec?.autoRange && !prevSpec?.autoRange;\n\n return isEqual(\n normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, { normalizeDomainPosition }),\n normalizeMarkerSpecForComponentOnlyUpdate(spec, { normalizeDomainPosition })\n );\n }\n\n protected _isAutoRangeSpecChange(spec: T, prevSpec: T) {\n if (!spec?.autoRange && !prevSpec?.autoRange) {\n return false;\n }\n\n return isEqual(\n normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, {\n normalizeDomainPosition: true,\n normalizeAutoRange: true\n }),\n normalizeMarkerSpecForComponentOnlyUpdate(spec, {\n normalizeDomainPosition: true,\n normalizeAutoRange: true\n })\n );\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._releaseMarkerData();\n this._bindSeries();\n this._initDataView();\n this._buildMarkerAttributeContext();\n if (this._markerComponent) {\n this._updateMarkerLayout();\n }\n }\n\n _initCommonDataView() {\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n // 重建 marker 自有数据链路前先释放旧链路,避免 transform/listener 残留。\n this._releaseMarkerData();\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n this._setMarkerData(data, true);\n this._bindMarkerDataChange();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries,\n IMarkProcessOptions\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { markerAggregation } from '../../data/transforms/aggregation';\nimport { markerFilter } from '../../data/transforms/marker-filter';\nimport { releaseDataViewWithDependencies } from '../../data/data-view-utils';\n\nconst MARKER_FORMAT_METHOD_PLACEHOLDER = '__vchart_marker_format_method__';\nconst MARKER_COORDINATE_PLACEHOLDER = '__vchart_marker_coordinate__';\nconst MARKER_TEXT_PLACEHOLDER = '__vchart_marker_text__';\nconst MARKER_AUTO_RANGE_PLACEHOLDER = '__vchart_marker_auto_range__';\nconst MARKER_STYLE_PLACEHOLDER = '__vchart_marker_style__';\nconst MARKER_DOMAIN_POSITION_SPEC_KEYS = [\n 'coordinate',\n 'coordinates',\n 'x',\n 'y',\n 'x1',\n 'y1',\n 'angle',\n 'angle1',\n 'radius',\n 'radius1'\n];\nconst MARKER_LAYOUT_POSITION_SPEC_KEYS = ['position', 'positions', 'coordinatesOffset', 'regionRelative'];\nconst MARKER_ITEM_CONTENT_LAYOUT_SPEC_KEYS = ['offsetX', 'offsetY', 'confine'];\n\nconst normalizeMarkerLabelFormatMethod = (label: any): any => {\n if (Array.isArray(label)) {\n return label.map(normalizeMarkerLabelFormatMethod);\n }\n if (!label || typeof label !== 'object') {\n return label;\n }\n if (typeof label.formatMethod !== 'function') {\n return label;\n }\n return {\n ...label,\n formatMethod: MARKER_FORMAT_METHOD_PLACEHOLDER\n };\n};\n\nconst normalizeMarkerStyles = (value: any): any => {\n if (Array.isArray(value)) {\n return value.map(normalizeMarkerStyles);\n }\n if (!value || typeof value !== 'object') {\n return value;\n }\n\n const normalized = { ...value };\n Object.keys(normalized).forEach(key => {\n if (key === 'style' || key.endsWith('Style')) {\n normalized[key] = MARKER_STYLE_PLACEHOLDER;\n } else {\n normalized[key] = normalizeMarkerStyles(normalized[key]);\n }\n });\n return normalized;\n};\n\nconst normalizeMarkerSpecForComponentOnlyUpdate = (\n spec: any,\n options: { normalizeDomainPosition: boolean; normalizeAutoRange?: boolean }\n) => {\n if (!spec || typeof spec !== 'object') {\n return spec;\n }\n\n const normalized = { ...spec };\n if (options.normalizeDomainPosition) {\n MARKER_DOMAIN_POSITION_SPEC_KEYS.forEach(key => {\n normalized[key] = MARKER_COORDINATE_PLACEHOLDER;\n });\n }\n if (options.normalizeAutoRange && 'autoRange' in normalized) {\n normalized.autoRange = MARKER_AUTO_RANGE_PLACEHOLDER;\n }\n MARKER_LAYOUT_POSITION_SPEC_KEYS.forEach(key => {\n if (key in normalized) {\n normalized[key] = MARKER_COORDINATE_PLACEHOLDER;\n }\n });\n if ('label' in normalized) {\n normalized.label = normalizeMarkerLabelFormatMethod(normalized.label);\n }\n\n Object.keys(normalized).forEach(key => {\n normalized[key] = normalizeMarkerStyles(normalized[key]);\n });\n\n const itemContent = normalized.itemContent;\n if (itemContent && typeof itemContent === 'object') {\n normalized.itemContent = {\n ...itemContent\n };\n MARKER_ITEM_CONTENT_LAYOUT_SPEC_KEYS.forEach(key => {\n if (key in normalized.itemContent) {\n normalized.itemContent[key] = MARKER_COORDINATE_PLACEHOLDER;\n }\n });\n\n const text = normalized.itemContent.text;\n if (text && typeof text === 'object') {\n normalized.itemContent.text = {\n ...normalizeMarkerLabelFormatMethod(text),\n text: MARKER_TEXT_PLACEHOLDER\n };\n }\n }\n\n return normalized;\n};\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n private _markerDataChangeHandler: (() => void) | null = null;\n private _markerDataOwned: boolean = false;\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n protected abstract _computeOptions(): IMarkProcessOptions;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n protected _getAutoRangeExtendDomainKeyPrefix() {\n return `marker_${this.type}_${this.id}`;\n }\n\n private _getAutoRangeExtendDomainKey(axisKey: 'xAxis' | 'yAxis' | 'angleAxis' | 'radiusAxis') {\n return `${this._getAutoRangeExtendDomainKeyPrefix()}_${axisKey}_extend`;\n }\n\n private _clearAutoRangeExtendDomain() {\n const seriesList = array(this._option.getAllSeries?.() as IMarkerSupportSeries[]);\n\n seriesList.forEach((series: any) => {\n series?.getXAxisHelper?.()?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('xAxis'), undefined);\n series?.getYAxisHelper?.()?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('yAxis'), undefined);\n series?.angleAxisHelper?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('angleAxis'), undefined);\n series?.radiusAxisHelper?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('radiusAxis'), undefined);\n });\n }\n\n private _updateMarkerLayout() {\n this._clearAutoRangeExtendDomain();\n this._markerLayout();\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n protected _setMarkerData(data: DataView, owned: boolean = false) {\n this._releaseMarkerData();\n this._markerData = data;\n this._markerDataOwned = owned;\n }\n\n protected _bindMarkerDataChange() {\n if (!this._markerData?.target) {\n return;\n }\n\n this._markerDataChangeHandler = () => {\n this._updateMarkerLayout();\n };\n this._markerData.target.on('change', this._markerDataChangeHandler);\n }\n\n private _releaseMarkerData() {\n const markerData = this._markerData;\n\n if (markerData?.target && this._markerDataChangeHandler) {\n markerData.target.removeListener('change', this._markerDataChangeHandler);\n }\n this._markerDataChangeHandler = null;\n\n if (this._markerDataOwned) {\n releaseDataViewWithDependencies(markerData, dataView => dataView.name === `${this.type}_${this.id}_data`);\n }\n this._markerData = null as unknown as DataView;\n this._markerDataOwned = false;\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._updateMarkerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._updateMarkerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._updateMarkerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._updateMarkerLayout.bind(this));\n }\n }\n\n clear(): void {\n super.clear();\n this._markerComponent = null;\n this._firstSeries = null;\n }\n\n release(): void {\n this._releaseMarkerData();\n super.release();\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.change = true;\n if (!result.reMake && !result.reCompile && this._isComponentOnlySpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n } else if (!result.reMake && !result.reCompile && this._isAutoRangeSpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n scaleDomain: true,\n layout: true,\n render: true\n };\n } else {\n result.reMake = true;\n }\n }\n return result;\n }\n\n protected _isComponentOnlySpecChange(spec: T, prevSpec: T) {\n const normalizeDomainPosition = !spec?.autoRange && !prevSpec?.autoRange;\n\n return isEqual(\n normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, { normalizeDomainPosition }),\n normalizeMarkerSpecForComponentOnlyUpdate(spec, { normalizeDomainPosition })\n );\n }\n\n protected _isAutoRangeSpecChange(spec: T, prevSpec: T) {\n if (!spec?.autoRange && !prevSpec?.autoRange) {\n return false;\n }\n\n return isEqual(\n normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, {\n normalizeDomainPosition: true,\n normalizeAutoRange: true\n }),\n normalizeMarkerSpecForComponentOnlyUpdate(spec, {\n normalizeDomainPosition: true,\n normalizeAutoRange: true\n })\n );\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._releaseMarkerData();\n this._bindSeries();\n this._initDataView();\n this._buildMarkerAttributeContext();\n if (this._markerComponent) {\n this._updateMarkerLayout();\n }\n }\n\n _initCommonDataView() {\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n // 重建 marker 自有数据链路前先释放旧链路,避免 transform/listener 残留。\n this._releaseMarkerData();\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n this._setMarkerData(data, true);\n this._bindMarkerDataChange();\n }\n}\n"]}
@@ -26,7 +26,7 @@ class BaseMarkPoint extends base_marker_1.BaseMarker {
26
26
  }
27
27
  _createMarkerComponent() {
28
28
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9;
29
- const {itemContent: itemContent = {}, itemLine: itemLine = {}, targetSymbol: targetSymbol = {}} = this._spec, _10 = itemContent, {type: type = "text", text: label, symbol: symbol, image: image, richText: richText, customMark: customMark, textStyle: textStyle, symbolStyle: symbolStyle, imageStyle: imageStyle, richTextStyle: richTextStyle, customMarkStyle: customMarkStyle, style: style = {}, state: state = {}} = _10, restItemContent = __rest(_10, [ "type", "text", "symbol", "image", "richText", "customMark", "textStyle", "symbolStyle", "imageStyle", "richTextStyle", "customMarkStyle", "style", "state" ]);
29
+ const {itemContent: itemContent = {}, itemLine: itemLine = {}, targetSymbol: targetSymbol = {}} = this._spec, region = this._relativeSeries.getRegion(), _10 = itemContent, {type: type = "text", text: label, symbol: symbol, image: image, richText: richText, customMark: customMark, textStyle: textStyle, symbolStyle: symbolStyle, imageStyle: imageStyle, richTextStyle: richTextStyle, customMarkStyle: customMarkStyle, style: style = {}, state: state = {}} = _10, restItemContent = __rest(_10, [ "type", "text", "symbol", "image", "richText", "customMark", "textStyle", "symbolStyle", "imageStyle", "richTextStyle", "customMarkStyle", "style", "state" ]);
30
30
  let itemContentState = null, itemContentStyle = null, defaultStyle = {};
31
31
  "text" === type ? (itemContentState = null !== (_a = null == label ? void 0 : label.state) && void 0 !== _a ? _a : state,
32
32
  defaultStyle = {
@@ -63,8 +63,8 @@ class BaseMarkPoint extends base_marker_1.BaseMarker {
63
63
  clipInRange: null !== (_v = this._spec.clip) && void 0 !== _v && _v,
64
64
  itemContent: Object.assign(Object.assign({
65
65
  type: type,
66
- offsetX: (0, utils_1.transformOffset)(itemContent.offsetX, this._relativeSeries.getRegion()),
67
- offsetY: (0, utils_1.transformOffset)(itemContent.offsetX, this._relativeSeries.getRegion())
66
+ offsetX: (0, utils_1.transformOffset)(itemContent.offsetX, region),
67
+ offsetY: (0, utils_1.transformOffset)(itemContent.offsetY, region)
68
68
  }, restItemContent), {
69
69
  style: (0, utils_1.transformStyle)(itemContentStyle, this._markerData, this._markAttributeContext)
70
70
  }),
@@ -97,7 +97,7 @@ class BaseMarkPoint extends base_marker_1.BaseMarker {
97
97
  }
98
98
  _markerLayout() {
99
99
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
100
- const spec = this._spec, data = this._markerData, relativeSeries = this._relativeSeries, {point: point} = this._computePointsAttr(), seriesData = this._getRelativeDataView().latestData, dataPoints = data ? data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData : seriesData, {itemLine: itemLine = {}, itemContent: itemContent = {}} = this._spec, {visible: itemLineVisible, line: line = {}} = itemLine, restItemLine = __rest(itemLine, [ "visible", "line" ]), itemLineAttrs = !1 !== itemLineVisible ? Object.assign(Object.assign({}, restItemLine), {
100
+ const spec = this._spec, data = this._markerData, relativeSeries = this._relativeSeries, {point: point} = this._computePointsAttr(), seriesData = this._getRelativeDataView().latestData, dataPoints = data ? data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData : seriesData, {itemLine: itemLine = {}, itemContent: itemContent = {}} = this._spec, region = this._relativeSeries.getRegion(), {visible: itemLineVisible, line: line = {}} = itemLine, restItemLine = __rest(itemLine, [ "visible", "line" ]), itemLineAttrs = !1 !== itemLineVisible ? Object.assign(Object.assign({}, restItemLine), {
101
101
  visible: !0,
102
102
  lineStyle: (0, style_1.transformToGraphic)(line.style)
103
103
  }) : {
@@ -119,7 +119,8 @@ class BaseMarkPoint extends base_marker_1.BaseMarker {
119
119
  };
120
120
  }
121
121
  if (this._markerComponent) {
122
- const attribute = null !== (_d = this._markerComponent.attribute) && void 0 !== _d ? _d : {}, textStyle = null !== (_f = null === (_e = attribute.itemContent) || void 0 === _e ? void 0 : _e.textStyle) && void 0 !== _f ? _f : {}, specText = null === (_g = this._spec.itemContent.text) || void 0 === _g ? void 0 : _g.text;
122
+ const attribute = null !== (_d = this._markerComponent.attribute) && void 0 !== _d ? _d : {}, textStyle = null !== (_f = null === (_e = attribute.itemContent) || void 0 === _e ? void 0 : _e.textStyle) && void 0 !== _f ? _f : {}, specText = null === (_g = this._spec.itemContent.text) || void 0 === _g ? void 0 : _g.text, offsetX = (0,
123
+ utils_1.transformOffset)(itemContent.offsetX, region), offsetY = (0, utils_1.transformOffset)(itemContent.offsetY, region);
123
124
  this._markerComponent.setAttributes({
124
125
  position: void 0 === point ? {
125
126
  x: null,
@@ -132,8 +133,8 @@ class BaseMarkPoint extends base_marker_1.BaseMarker {
132
133
  text: (null === (_o = this._spec.itemContent.text) || void 0 === _o ? void 0 : _o.formatMethod) ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData) : (0,
133
134
  vutils_1.isValid)(specText) ? specText : textStyle.text
134
135
  }),
135
- offsetX: (0, utils_1.computeOffsetFromRegion)(point, attribute.itemContent.offsetX, this._relativeSeries.getRegion()),
136
- offsetY: (0, utils_1.computeOffsetFromRegion)(point, attribute.itemContent.offsetY, this._relativeSeries.getRegion())
136
+ offsetX: (0, utils_1.computeOffsetFromRegion)(point, offsetX, region),
137
+ offsetY: (0, utils_1.computeOffsetFromRegion)(point, offsetY, region)
137
138
  }),
138
139
  itemLine: itemLineAttrs,
139
140
  limitRect: limitRect,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/base-mark-point.ts"],"names":[],"mappings":"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","file":"base-mark-point.js","sourcesContent":["import type { IMarkPoint, IMarkPointSpec } from './interface';\nimport {\n computeClipRange,\n computeOffsetFromRegion,\n getMarkPointProcessInfo,\n transformLabelAttributes,\n transformOffset,\n transformState,\n transformStyle\n} from '../utils';\nimport type { MarkPointAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport { isValid, merge } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IMarkerLabelSpec, IMarkerLabelWithoutRefSpec } from '../interface';\n\nexport abstract class BaseMarkPoint extends BaseMarker<IMarkPointSpec> implements IMarkPoint {\n static specKey = 'markPoint';\n specKey = 'markPoint';\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n protected declare _markerComponent: MarkPointComponent;\n\n protected abstract _computePointsAttr(): any;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(markerSpec);\n if (markerSpec.coordinateType === 'polar' || doPolarProcess) {\n return 'polar';\n } else if (markerSpec.coordinateType === 'geo' || doGeoProcess) {\n return 'geo';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const { itemContent = {}, itemLine = {}, targetSymbol = {} } = this._spec;\n const {\n type = 'text',\n\n // 老写法\n text: label,\n symbol,\n image,\n richText,\n customMark,\n textStyle,\n symbolStyle,\n imageStyle,\n richTextStyle,\n customMarkStyle,\n\n // 新写法\n style = {},\n state = {},\n\n ...restItemContent\n } = itemContent as any;\n\n let itemContentState = null;\n let itemContentStyle = null;\n let defaultStyle = {};\n\n if (type === 'text') {\n itemContentState = label?.state ?? state;\n defaultStyle = {\n dx: 0,\n dy: 0\n };\n itemContentStyle = transformLabelAttributes(\n {\n ...label,\n style: merge(\n defaultStyle,\n label?.style ?? label?.textStyle ?? textStyle ?? (style as Pick<IMarkerLabelSpec, 'style'>)\n )\n },\n this._markerData,\n this._markAttributeContext\n );\n } else if ((type as any) === 'richText') {\n itemContentState = richText?.state ?? state;\n defaultStyle = {\n width: 100,\n height: 100\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, richText?.style ?? richTextStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'symbol') {\n itemContentState = symbol?.state ?? state;\n defaultStyle = {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n };\n itemContentStyle = transformToGraphic(\n transformStyle(\n merge(defaultStyle, symbol?.style ?? symbolStyle ?? style),\n this._markerData,\n this._markAttributeContext\n )\n );\n } else if (type === 'image') {\n itemContentState = image?.state ?? state;\n defaultStyle = {\n width: 80,\n height: 80\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, image?.style ?? imageStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'custom') {\n itemContentState = customMark?.state ?? state;\n itemContentStyle = transformStyle(\n customMark?.style ?? customMarkStyle ?? style,\n this._markerData,\n this._markAttributeContext\n );\n }\n const markPointAttrs: MarkPointAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n position: { x: 0, y: 0 },\n clipInRange: this._spec.clip ?? false,\n itemContent: {\n type,\n offsetX: transformOffset(itemContent.offsetX, this._relativeSeries.getRegion()),\n offsetY: transformOffset(itemContent.offsetX, this._relativeSeries.getRegion()),\n ...restItemContent, // Tips: 因为网站 demo 上已经透出了 imageStyle richTextStyle 的写法,为了兼容所以这个需要在后面覆盖\n style: transformStyle(itemContentStyle, this._markerData, this._markAttributeContext)\n },\n targetSymbol: {\n offset: targetSymbol.offset ?? 0,\n visible: targetSymbol.visible ?? false,\n size: targetSymbol.size ?? 20,\n style: transformStyle(targetSymbol.style, this._markerData, this._markAttributeContext)\n },\n state: {\n line: transformState(this._spec.itemLine.line?.state ?? {}, this._markerData, this._markAttributeContext),\n lineStartSymbol: transformState(\n this._spec.itemLine.startSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n lineEndSymbol: transformState(\n this._spec.itemLine.endSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n itemContent: transformState(itemContentState, this._markerData, this._markAttributeContext),\n textBackground: transformState(\n this._spec.itemContent.text?.labelBackground?.state,\n this._markerData,\n this._markAttributeContext\n ),\n targetItem: transformState(this._spec.targetSymbol?.state ?? {}, this._markerData, this._markAttributeContext)\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n const { visible, line = {}, ...restItemLine } = itemLine;\n if (visible !== false) {\n markPointAttrs.itemLine = {\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any;\n } else {\n markPointAttrs.itemLine = {\n visible: false\n };\n }\n\n const markPoint = new MarkPointComponent(markPointAttrs);\n return markPoint as unknown as IGroup;\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n\n const { point } = this._computePointsAttr();\n\n const seriesData = this._getRelativeDataView().latestData;\n const dataPoints = data\n ? data.latestData[0] && data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n const { itemLine = {}, itemContent = {} } = this._spec;\n const { visible: itemLineVisible, line = {}, ...restItemLine } = itemLine;\n const itemLineAttrs =\n itemLineVisible !== false\n ? ({\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any)\n : {\n visible: false\n };\n const labelAttrs = transformLabelAttributes(\n {\n ...itemContent.text,\n style: merge({ dx: 0, dy: 0 }, itemContent.text?.style ?? itemContent.style)\n } as IMarkerLabelWithoutRefSpec,\n data,\n this._markAttributeContext\n ) as any;\n\n let limitRect;\n if (spec.clip || spec.itemContent?.confine) {\n const { minX, maxX, minY, maxY } = computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n if (this._markerComponent) {\n const attribute = this._markerComponent.attribute ?? {};\n const textStyle = (attribute.itemContent as any)?.textStyle ?? {};\n const specText = this._spec.itemContent.text?.text;\n this._markerComponent.setAttributes({\n position: point === undefined ? { x: null, y: null } : point, // setAttrs时merge时undefined会被忽略, 所以这里做转换\n itemContent: {\n ...attribute.itemContent,\n panel: labelAttrs.panel ?? (attribute.itemContent as any)?.panel,\n padding: labelAttrs.padding ?? (attribute.itemContent as any)?.padding,\n textStyle: {\n ...textStyle,\n ...(labelAttrs.textStyle ?? {}),\n text: this._spec.itemContent.text?.formatMethod\n ? // type error here will be fixed in components\n (this._spec.itemContent.text.formatMethod(dataPoints, seriesData) as any)\n : isValid(specText)\n ? specText\n : textStyle.text\n },\n offsetX: computeOffsetFromRegion(point, attribute.itemContent.offsetX, this._relativeSeries.getRegion()),\n offsetY: computeOffsetFromRegion(point, attribute.itemContent.offsetY, this._relativeSeries.getRegion())\n } as any,\n itemLine: itemLineAttrs,\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const { doXYProcess, doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(spec);\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess && !doXYProcess && !doPolarProcess && !doGeoProcess) {\n return;\n }\n\n this._initCommonDataView();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/base-mark-point.ts"],"names":[],"mappings":"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","file":"base-mark-point.js","sourcesContent":["import type { IMarkPoint, IMarkPointSpec } from './interface';\nimport {\n computeClipRange,\n computeOffsetFromRegion,\n getMarkPointProcessInfo,\n transformLabelAttributes,\n transformOffset,\n transformState,\n transformStyle\n} from '../utils';\nimport type { MarkPointAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport { isValid, merge } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IMarkerLabelSpec, IMarkerLabelWithoutRefSpec } from '../interface';\n\nexport abstract class BaseMarkPoint extends BaseMarker<IMarkPointSpec> implements IMarkPoint {\n static specKey = 'markPoint';\n specKey = 'markPoint';\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n protected declare _markerComponent: MarkPointComponent;\n\n protected abstract _computePointsAttr(): any;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(markerSpec);\n if (markerSpec.coordinateType === 'polar' || doPolarProcess) {\n return 'polar';\n } else if (markerSpec.coordinateType === 'geo' || doGeoProcess) {\n return 'geo';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const { itemContent = {}, itemLine = {}, targetSymbol = {} } = this._spec;\n const region = this._relativeSeries.getRegion();\n const {\n type = 'text',\n\n // 老写法\n text: label,\n symbol,\n image,\n richText,\n customMark,\n textStyle,\n symbolStyle,\n imageStyle,\n richTextStyle,\n customMarkStyle,\n\n // 新写法\n style = {},\n state = {},\n\n ...restItemContent\n } = itemContent as any;\n\n let itemContentState = null;\n let itemContentStyle = null;\n let defaultStyle = {};\n\n if (type === 'text') {\n itemContentState = label?.state ?? state;\n defaultStyle = {\n dx: 0,\n dy: 0\n };\n itemContentStyle = transformLabelAttributes(\n {\n ...label,\n style: merge(\n defaultStyle,\n label?.style ?? label?.textStyle ?? textStyle ?? (style as Pick<IMarkerLabelSpec, 'style'>)\n )\n },\n this._markerData,\n this._markAttributeContext\n );\n } else if ((type as any) === 'richText') {\n itemContentState = richText?.state ?? state;\n defaultStyle = {\n width: 100,\n height: 100\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, richText?.style ?? richTextStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'symbol') {\n itemContentState = symbol?.state ?? state;\n defaultStyle = {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n };\n itemContentStyle = transformToGraphic(\n transformStyle(\n merge(defaultStyle, symbol?.style ?? symbolStyle ?? style),\n this._markerData,\n this._markAttributeContext\n )\n );\n } else if (type === 'image') {\n itemContentState = image?.state ?? state;\n defaultStyle = {\n width: 80,\n height: 80\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, image?.style ?? imageStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'custom') {\n itemContentState = customMark?.state ?? state;\n itemContentStyle = transformStyle(\n customMark?.style ?? customMarkStyle ?? style,\n this._markerData,\n this._markAttributeContext\n );\n }\n const markPointAttrs: MarkPointAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n position: { x: 0, y: 0 },\n clipInRange: this._spec.clip ?? false,\n itemContent: {\n type,\n offsetX: transformOffset(itemContent.offsetX, region),\n offsetY: transformOffset(itemContent.offsetY, region),\n ...restItemContent, // Tips: 因为网站 demo 上已经透出了 imageStyle richTextStyle 的写法,为了兼容所以这个需要在后面覆盖\n style: transformStyle(itemContentStyle, this._markerData, this._markAttributeContext)\n },\n targetSymbol: {\n offset: targetSymbol.offset ?? 0,\n visible: targetSymbol.visible ?? false,\n size: targetSymbol.size ?? 20,\n style: transformStyle(targetSymbol.style, this._markerData, this._markAttributeContext)\n },\n state: {\n line: transformState(this._spec.itemLine.line?.state ?? {}, this._markerData, this._markAttributeContext),\n lineStartSymbol: transformState(\n this._spec.itemLine.startSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n lineEndSymbol: transformState(\n this._spec.itemLine.endSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n itemContent: transformState(itemContentState, this._markerData, this._markAttributeContext),\n textBackground: transformState(\n this._spec.itemContent.text?.labelBackground?.state,\n this._markerData,\n this._markAttributeContext\n ),\n targetItem: transformState(this._spec.targetSymbol?.state ?? {}, this._markerData, this._markAttributeContext)\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n const { visible, line = {}, ...restItemLine } = itemLine;\n if (visible !== false) {\n markPointAttrs.itemLine = {\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any;\n } else {\n markPointAttrs.itemLine = {\n visible: false\n };\n }\n\n const markPoint = new MarkPointComponent(markPointAttrs);\n return markPoint as unknown as IGroup;\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n\n const { point } = this._computePointsAttr();\n\n const seriesData = this._getRelativeDataView().latestData;\n const dataPoints = data\n ? data.latestData[0] && data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n const { itemLine = {}, itemContent = {} } = this._spec;\n const region = this._relativeSeries.getRegion();\n const { visible: itemLineVisible, line = {}, ...restItemLine } = itemLine;\n const itemLineAttrs =\n itemLineVisible !== false\n ? ({\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any)\n : {\n visible: false\n };\n const labelAttrs = transformLabelAttributes(\n {\n ...itemContent.text,\n style: merge({ dx: 0, dy: 0 }, itemContent.text?.style ?? itemContent.style)\n } as IMarkerLabelWithoutRefSpec,\n data,\n this._markAttributeContext\n ) as any;\n\n let limitRect;\n if (spec.clip || spec.itemContent?.confine) {\n const { minX, maxX, minY, maxY } = computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n if (this._markerComponent) {\n const attribute = this._markerComponent.attribute ?? {};\n const textStyle = (attribute.itemContent as any)?.textStyle ?? {};\n const specText = this._spec.itemContent.text?.text;\n const offsetX = transformOffset(itemContent.offsetX, region);\n const offsetY = transformOffset(itemContent.offsetY, region);\n this._markerComponent.setAttributes({\n position: point === undefined ? { x: null, y: null } : point, // setAttrs时merge时undefined会被忽略, 所以这里做转换\n itemContent: {\n ...attribute.itemContent,\n panel: labelAttrs.panel ?? (attribute.itemContent as any)?.panel,\n padding: labelAttrs.padding ?? (attribute.itemContent as any)?.padding,\n textStyle: {\n ...textStyle,\n ...(labelAttrs.textStyle ?? {}),\n text: this._spec.itemContent.text?.formatMethod\n ? // type error here will be fixed in components\n (this._spec.itemContent.text.formatMethod(dataPoints, seriesData) as any)\n : isValid(specText)\n ? specText\n : textStyle.text\n },\n offsetX: computeOffsetFromRegion(point, offsetX, region),\n offsetY: computeOffsetFromRegion(point, offsetY, region)\n } as any,\n itemLine: itemLineAttrs,\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const { doXYProcess, doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(spec);\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess && !doXYProcess && !doPolarProcess && !doGeoProcess) {\n return;\n }\n\n this._initCommonDataView();\n }\n}\n"]}
@@ -12,5 +12,4 @@ exports.FUNNEL_LAST_VALUE_RATIO = `${base_1.PREFIX}_FUNNEL_LAST_VALUE_RATIO`, ex
12
12
  exports.FUNNEL_LAST_VALUE = `${base_1.PREFIX}_FUNNEL_LAST_VALUE`, exports.FUNNEL_CURRENT_VALUE = `${base_1.PREFIX}_FUNNEL_CURRENT_VALUE`,
13
13
  exports.FUNNEL_NEXT_VALUE = `${base_1.PREFIX}_FUNNEL_NEXT_VALUE`, exports.FUNNEL_TRANSFORM_LEVEL = `${base_1.PREFIX}_FUNNEL_TRANSFORM_LEVEL`,
14
14
  exports.FUNNEL_LABEL_LINE_LENGTH = 20, exports.FUNNEL_LABEL_SPACE_WIDTH = 5, exports.FUNNEL_MAX_SIZE = "80%",
15
- exports.FUNNEL_MIN_SIZE = 0;
16
- //# sourceMappingURL=funnel.js.map
15
+ exports.FUNNEL_MIN_SIZE = 0;
@@ -8,4 +8,5 @@ const vscale_1 = require("@visactor/vscale");
8
8
 
9
9
  exports.SCATTER_DEFAULT_SIZE = 10, exports.SCATTER_DEFAULT_RANGE_SIZE = [ 10, 20 ],
10
10
  exports.SCATTER_DEFAULT_SIZE_SCALE_TYPE = vscale_1.ScaleEnum.Linear, exports.SCATTER_DEFAULT_SHAPE = "circle",
11
- exports.SCATTER_DEFAULT_SHAPE_SCALE_TYPE = vscale_1.ScaleEnum.Ordinal, exports.SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
11
+ exports.SCATTER_DEFAULT_SHAPE_SCALE_TYPE = vscale_1.ScaleEnum.Ordinal, exports.SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
12
+ //# sourceMappingURL=scatter.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.SCROLL_BAR_DEFAULT_SIZE = void 0, exports.SCROLL_BAR_DEFAULT_SIZE = 12;
6
- //# sourceMappingURL=scroll-bar.js.map
6
+ //# sourceMappingURL=scroll-bar.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.SUNBURST_AUTO_VISIBLE_DEFAULT_THRESHOLD = void 0, exports.SUNBURST_AUTO_VISIBLE_DEFAULT_THRESHOLD = 10;
6
- //# sourceMappingURL=sunburst.js.map
6
+ //# sourceMappingURL=sunburst.js.map
@@ -7,4 +7,4 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const base_1 = require("./base");
8
8
 
9
9
  exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
10
- //# sourceMappingURL=waterfall.js.map
10
+ //# sourceMappingURL=waterfall.js.map
@@ -10,4 +10,4 @@ exports.WORD_CLOUD_ANGLE = `${base_1.PREFIX}_WORD_CLOUD_ANGLE`, exports.WORD_CLO
10
10
  exports.WORD_CLOUD_WEIGHT = `${base_1.PREFIX}_WORD_CLOUD_WEIGHT`, exports.WORDCLOUD_COLOR = `${base_1.PREFIX}_WORDCLOUD_COLOR`,
11
11
  exports.WORDCLOUD_DATA_TOTAL = `${base_1.PREFIX}_WORDCLOUD_DATA_TOTAL`, exports.WORD_CLOUD_TEXT = `${base_1.PREFIX}_WORD_CLOUD_TEXT`,
12
12
  exports.WORDCLOUD_SHAPE_DATA_TOTAL = `${base_1.PREFIX}_WORDCLOUD_SHAPE_DATA_TOTAL`;
13
- //# sourceMappingURL=word-cloud.js.map
13
+ //# sourceMappingURL=word-cloud.js.map
@@ -27,4 +27,4 @@ class ExpressionFunction {
27
27
  }
28
28
 
29
29
  exports.ExpressionFunction = ExpressionFunction;
30
- //# sourceMappingURL=expression-function.js.map
30
+ //# sourceMappingURL=expression-function.js.map
@@ -196,4 +196,4 @@ Factory.registerInteractionTrigger = (interactionType, interaction) => {
196
196
  const Cror = Factory._tooltipProcessors[type];
197
197
  return Cror ? new Cror(tooltip) : null;
198
198
  };
199
- //# sourceMappingURL=factory.js.map
199
+ //# sourceMappingURL=factory.js.map
package/cjs/core/index.js CHANGED
@@ -199,4 +199,4 @@ Object.defineProperty(exports, "measureText", {
199
199
  return text_1.measureText;
200
200
  }
201
201
  });
202
- //# sourceMappingURL=index.js.map
202
+ //# sourceMappingURL=index.js.map
@@ -28,4 +28,4 @@ class InstanceManager {
28
28
  }
29
29
 
30
30
  exports.InstanceManager = InstanceManager, InstanceManager.instances = new Map;
31
- //# sourceMappingURL=instance-manager.js.map
31
+ //# sourceMappingURL=instance-manager.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
package/cjs/core/util.js CHANGED
@@ -9,4 +9,4 @@ const util_1 = require("../util");
9
9
  exports.VCHART_UTILS = {
10
10
  measureText: util_1.measureText
11
11
  };
12
- //# sourceMappingURL=util.js.map
12
+ //# sourceMappingURL=util.js.map
@@ -962,4 +962,4 @@ const registerVChartCore = () => {
962
962
  };
963
963
 
964
964
  exports.registerVChartCore = registerVChartCore, (0, exports.registerVChartCore)();
965
- //# sourceMappingURL=vchart.js.map
965
+ //# sourceMappingURL=vchart.js.map
@@ -55,4 +55,4 @@ const releaseDataViewWithDependencies = (dataView, shouldReleaseDependency) => {
55
55
  };
56
56
 
57
57
  exports.releaseDataViewWithDependencies = releaseDataViewWithDependencies;
58
- //# sourceMappingURL=data-view-utils.js.map
58
+ //# sourceMappingURL=data-view-utils.js.map
@@ -85,4 +85,4 @@ function(TransformLevel) {
85
85
  TransformLevel[TransformLevel.linkDotInfo = -7] = "linkDotInfo", TransformLevel[TransformLevel.sankeyLayout = -7] = "sankeyLayout",
86
86
  TransformLevel[TransformLevel.dataZoomFilter = -6] = "dataZoomFilter", TransformLevel[TransformLevel.legendFilter = -5] = "legendFilter";
87
87
  }(TransformLevel = exports.TransformLevel || (exports.TransformLevel = {}));
88
- //# sourceMappingURL=initialize.js.map
88
+ //# sourceMappingURL=initialize.js.map
@@ -12,4 +12,4 @@ Object.defineProperty(exports, "__esModule", {
12
12
  value: !0
13
13
  }), exports.registerDataSetInstanceParser = exports.registerDataSetInstanceTransform = void 0,
14
14
  exports.registerDataSetInstanceTransform = registerDataSetInstanceTransform, exports.registerDataSetInstanceParser = registerDataSetInstanceParser;
15
- //# sourceMappingURL=register.js.map
15
+ //# sourceMappingURL=register.js.map
@@ -52,7 +52,7 @@ class BaseLineMark extends base_mark_1.BaseMark {
52
52
  })), res)), []) : null;
53
53
  }
54
54
  _runPointsEncoder(newStyles, g, attrs = {}) {
55
- var _a, _b, _c;
55
+ var _a, _b;
56
56
  const data = g.context.data, lineAttrs = [], points = [], commonAttrs = {}, progressive = null === (_a = this.renderContext) || void 0 === _a ? void 0 : _a.progressive, isFirstFrame = progressive && 0 === progressive.currentIndex;
57
57
  if (data.forEach(((datum, index) => {
58
58
  var _a;
@@ -60,7 +60,7 @@ class BaseLineMark extends base_mark_1.BaseMark {
60
60
  this._isValidPointChannel(attrName) ? points[index][attrName] = newStyles[attrName](datum) : this._segmentStyleKeys.includes(attrName) && !progressive ? lineAttrs[index][attrName] = newStyles[attrName](datum) : 0 !== index || progressive && !isFirstFrame || (commonAttrs[attrName] = newStyles[attrName](datum));
61
61
  })), points[index].context = null !== (_a = this._keyGetter(datum)) && void 0 !== _a ? _a : index;
62
62
  })), progressive) {
63
- const segments = null !== (_c = null === (_b = g.attribute) || void 0 === _b ? void 0 : _b.segments) && void 0 !== _c ? _c : [];
63
+ const segments = (null === (_b = g.attribute) || void 0 === _b ? void 0 : _b.segments) ? [ ...g.attribute.segments ] : [];
64
64
  return segments.push({
65
65
  points: points
66
66
  }), isFirstFrame ? Object.assign(Object.assign({}, commonAttrs), {