@visactor/vchart 2.0.4-alpha.1 → 2.0.4-alpha.2

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import { CustomEvent, type IGraphicAttribute, type IGraphic, type IGroup, type INode } from '@visactor/vrender-core';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponent, IComponentOption } from '../interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Event_Source_Type } from '../../constant/event';\n// import { preprocessSpecOrTheme } from '../../util/spec/preprocess';\nimport type { Datum, ILayoutRect } from '../../typings';\nimport type { IComponentSpec } from './interface';\nimport { LayoutModel } from '../../model/layout-model';\nimport { BaseComponentSpecTransformer } from './base-component-transformer';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\n\nexport class BaseComponent<T extends IComponentSpec = IComponentSpec> extends LayoutModel<T> implements IComponent {\n static transformerConstructor = BaseComponentSpecTransformer;\n name: string = 'component';\n readonly modelType: string = 'component';\n readonly transformerConstructor = BaseComponentSpecTransformer as any;\n pluginService?: IComponentPluginService;\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption): IComponent {\n const { spec, ...others } = specInfo;\n return new this(spec, {\n ...options,\n ...others\n });\n }\n\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.initLayout();\n this.pluginService = new ComponentPluginService(this);\n }\n\n initLayout(): void {\n super.initLayout();\n this._regions = this._regions ?? this._option.getRegionsInIndex();\n this._layout && (this._layout.layoutBindRegionID = this._regions.map(x => x?.id));\n }\n /**\n * 当创建vrender组件时,reCompile 的时候需要清理老的组件,创建新的组件,需要通过这个返回\n * 注意,像label 组件比较特殊,现在是通过componentMark 管理的,所以不需要通过这个接口被清理\n */\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return this._getNeedClearVRenderComponents();\n }\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true) as IGroup;\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return !isEqual(prevSpec?.[k], spec[k]);\n });\n }\n if ((prevSpec as any)?.visible !== (spec as any).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n release() {\n super.release();\n this.clear();\n\n this.pluginService?.releaseAll();\n this.pluginService = null;\n }\n\n clear() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n this.getContainer()?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n }\n this._container = null;\n this.pluginService?.clearAll();\n }\n\n compile(): void {\n this.compileMarks();\n this.reAppendComponents();\n }\n\n compileMarks(group?: IGroup) {\n this.getMarks().forEach(m => {\n m.compile({ group, context: { model: this } });\n });\n }\n\n reAppendComponents() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c && !c.stage) {\n // component is removed remove stage\n\n this.getContainer()?.appendChild(c as unknown as INode);\n }\n });\n }\n }\n\n // 代理组件本身的事件(非内部图形),如坐标轴整体的点击等\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n // 组件这里只代理基础的事件,自定义事件不需要代理\n if (!(event instanceof CustomEvent)) {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n }\n };\n\n getBoundsInRect(rect: ILayoutRect, fullRect: ILayoutRect): IBoundsLike {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n getDatum(graphic?: IGraphic<Partial<IGraphicAttribute>>) {\n // override\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import { CustomEvent, type IGraphicAttribute, type IGraphic, type IGroup, type INode } from '@visactor/vrender-core';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponent, IComponentOption } from '../interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Event_Source_Type } from '../../constant/event';\n// import { preprocessSpecOrTheme } from '../../util/spec/preprocess';\nimport type { Datum, ILayoutRect } from '../../typings';\nimport type { IComponentSpec } from './interface';\nimport { LayoutModel } from '../../model/layout-model';\nimport { BaseComponentSpecTransformer } from './base-component-transformer';\nimport type { IModelSpecInfo } from '../../model/interface';\n\nexport class BaseComponent<T extends IComponentSpec = IComponentSpec> extends LayoutModel<T> implements IComponent {\n static transformerConstructor = BaseComponentSpecTransformer;\n name: string = 'component';\n readonly modelType: string = 'component';\n readonly transformerConstructor = BaseComponentSpecTransformer as any;\n pluginService?: IComponentPluginService;\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption): IComponent {\n const { spec, ...others } = specInfo;\n return new this(spec, {\n ...options,\n ...others\n });\n }\n\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.initLayout();\n this.pluginService = new ComponentPluginService(this);\n }\n\n initLayout(): void {\n super.initLayout();\n this._regions = this._regions ?? this._option.getRegionsInIndex();\n this._layout && (this._layout.layoutBindRegionID = this._regions.map(x => x?.id));\n }\n /**\n * 当创建vrender组件时,reCompile 的时候需要清理老的组件,创建新的组件,需要通过这个返回\n * 注意,像label 组件比较特殊,现在是通过componentMark 管理的,所以不需要通过这个接口被清理\n */\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return this._getNeedClearVRenderComponents();\n }\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true) as IGroup;\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return !isEqual(prevSpec?.[k], spec[k]);\n });\n }\n if ((prevSpec as any)?.visible !== (spec as any).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n release() {\n super.release();\n this.clear();\n\n this.pluginService?.releaseAll();\n this.pluginService = null;\n }\n\n clear() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n this.getContainer()?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n }\n this._container = null;\n this.pluginService?.clearAll();\n }\n\n compile(): void {\n this.compileMarks();\n this.reAppendComponents();\n }\n\n compileMarks(group?: IGroup) {\n this.getMarks().forEach(m => {\n m.compile({ group, context: { model: this } });\n });\n }\n\n reAppendComponents() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c && !c.stage) {\n // component is removed remove stage\n\n this.getContainer()?.appendChild(c as unknown as INode);\n }\n });\n }\n }\n\n // 代理组件本身的事件(非内部图形),如坐标轴整体的点击等\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n // 组件这里只代理基础的事件,自定义事件不需要代理\n if (!(event instanceof CustomEvent)) {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n }\n };\n\n getBoundsInRect(rect: ILayoutRect, fullRect: ILayoutRect): IBoundsLike {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n getDatum(graphic?: IGraphic<Partial<IGraphicAttribute>>) {\n // override\n return;\n }\n}\n"]}
@@ -109,11 +109,10 @@ class CustomMark extends base_component_1.BaseComponent {
109
109
  }
110
110
  getVRenderComponents() {
111
111
  const comps = [], checkFunc = m => {
112
- var _a;
113
112
  if (m && "group" === m.type) m.getMarks().forEach((child => {
114
113
  checkFunc(child);
115
114
  })); else if ("component" === m.type) {
116
- const comp = null === (_a = null == m ? void 0 : m.getProduct()) || void 0 === _a ? void 0 : _a.getGroupGraphicItem();
115
+ const comp = null == m ? void 0 : m.getComponent();
117
116
  comp && comps.push(comp);
118
117
  }
119
118
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { PREFIX } from '../../constant/base';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport { MarkTypeEnum, type IGroupMark, type IMark } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n\n let parentMark: IGroupMark | null = null;\n if (this._spec.parent) {\n const mark = this.getChart()\n .getAllMarks()\n .find(m => m.getUserId() === this._spec.parent) as IGroupMark;\n if (mark.type === 'group') {\n parentMark = mark;\n }\n }\n this._createExtensionMark(this._spec, parentMark, `${PREFIX}_series_${this.id}_extensionMark`, 0);\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: isValid(spec.name) ? `${spec.name}` : `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (isValid(spec.id)) {\n mark.setUserId(spec.id);\n }\n\n if (this._option.globalInstance?.isAnimationEnable() && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.AABBBounds);\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n getVRenderComponents() {\n const comps: any[] = [];\n const checkFunc = (m: IMark) => {\n if (m && m.type === MarkTypeEnum.group) {\n m.getMarks().forEach(child => {\n checkFunc(child as IMark);\n });\n } else if (m.type === MarkTypeEnum.component) {\n const comp = m?.getProduct()?.getGroupGraphicItem();\n\n if (comp) {\n comps.push(comp);\n }\n }\n };\n\n this.getMarks().forEach(m => {\n checkFunc(m);\n });\n\n return comps;\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { PREFIX } from '../../constant/base';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport { IComponentMark, MarkTypeEnum, type IGroupMark } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n\n let parentMark: IGroupMark | null = null;\n if (this._spec.parent) {\n const mark = this.getChart()\n .getAllMarks()\n .find(m => m.getUserId() === this._spec.parent) as IGroupMark;\n if (mark.type === 'group') {\n parentMark = mark;\n }\n }\n this._createExtensionMark(this._spec, parentMark, `${PREFIX}_series_${this.id}_extensionMark`, 0);\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: isValid(spec.name) ? `${spec.name}` : `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (isValid(spec.id)) {\n mark.setUserId(spec.id);\n }\n\n if (this._option.globalInstance?.isAnimationEnable() && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.AABBBounds);\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n getVRenderComponents() {\n const comps: any[] = [];\n const checkFunc = (m: IComponentMark) => {\n if (m && m.type === MarkTypeEnum.group) {\n m.getMarks().forEach(child => {\n checkFunc(child as IComponentMark);\n });\n } else if (m.type === MarkTypeEnum.component) {\n const comp = m?.getComponent();\n\n if (comp) {\n comps.push(comp);\n }\n }\n };\n\n this.getMarks().forEach(m => {\n checkFunc(m as IComponentMark);\n });\n\n return comps;\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
@@ -11,5 +11,4 @@ Object.defineProperty(exports, "__esModule", {
11
11
  AttributeLevel[AttributeLevel.User_Chart = 6] = "User_Chart", AttributeLevel[AttributeLevel.User_Series = 7] = "User_Series",
12
12
  AttributeLevel[AttributeLevel.User_Mark = 8] = "User_Mark", AttributeLevel[AttributeLevel.User_SeriesStyle = 9] = "User_SeriesStyle",
13
13
  AttributeLevel[AttributeLevel.Built_In = 99] = "Built_In";
14
- }(AttributeLevel = exports.AttributeLevel || (exports.AttributeLevel = {}));
15
- //# sourceMappingURL=attribute.js.map
14
+ }(AttributeLevel = exports.AttributeLevel || (exports.AttributeLevel = {}));
@@ -8,4 +8,5 @@ const base_1 = require("./base");
8
8
 
9
9
  exports.DEFAULT_LABEL_LIMIT = `${base_1.PREFIX}_LABEL_LIMIT`, exports.DEFAULT_LABEL_ALIGN = `${base_1.PREFIX}_LABEL_ALIGN`,
10
10
  exports.DEFAULT_LABEL_TEXT = `${base_1.PREFIX}_LABEL_TEXT`, exports.DEFAULT_LABEL_VISIBLE = `${base_1.PREFIX}_LABEL_VISIBLE`,
11
- exports.DEFAULT_LABEL_X = `${base_1.PREFIX}_LABEL_X`, exports.DEFAULT_LABEL_Y = `${base_1.PREFIX}_LABEL_Y`;
11
+ exports.DEFAULT_LABEL_X = `${base_1.PREFIX}_LABEL_X`, exports.DEFAULT_LABEL_Y = `${base_1.PREFIX}_LABEL_Y`;
12
+ //# sourceMappingURL=label.js.map
@@ -6,5 +6,4 @@ Object.defineProperty(exports, "__esModule", {
6
6
 
7
7
  const base_1 = require("./base");
8
8
 
9
- exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
10
- //# sourceMappingURL=waterfall.js.map
9
+ exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
@@ -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
@@ -26,4 +26,5 @@ class ExpressionFunction {
26
26
  }
27
27
  }
28
28
 
29
- exports.ExpressionFunction = ExpressionFunction;
29
+ exports.ExpressionFunction = ExpressionFunction;
30
+ //# sourceMappingURL=expression-function.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "2.0.4-alpha.1";
4
+ export declare const version = "2.0.4-alpha.2";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export type { IRegion } from '../region/interface';
package/cjs/core/index.js CHANGED
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "Factory", {
35
35
  get: function() {
36
36
  return factory_1.Factory;
37
37
  }
38
- }), exports.version = "2.0.4-alpha.1", __exportStar(require("../event/interface"), exports),
38
+ }), exports.version = "2.0.4-alpha.2", __exportStar(require("../event/interface"), exports),
39
39
  __exportStar(require("../theme/interface"), exports), __exportStar(require("../model/interface"), exports),
40
40
  __exportStar(require("./interface"), exports), __exportStar(require("../typings"), exports),
41
41
  __exportStar(require("../constant/base"), exports), __exportStar(require("../constant/data"), exports),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,eAAe,CAAC;AAOvC,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AAEnC,8CAA4B;AAC5B,6CAA2B;AAI3B,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AACvB,iDAAoD;AAA3C,4GAAA,cAAc,OAAA;AACvB,uDAA6D;AAApD,6GAAA,gBAAgB,OAAA;AACzB,2CAA+C;AAAtC,mGAAA,UAAU,OAAA;AAKnB,wDAAsC;AACtC,oDAAkC;AAGlC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAUgC;AAT9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AAEd,6DAAsE;AAA7D,+GAAA,YAAY,OAAA;AAAE,8GAAA,WAAW,OAAA;AAGlC,gDAA8B;AAC9B,uCAAmD;AAA1C,2GAAA,kBAAkB,OAAA;AAC3B,0CAAgD;AAAvC,mGAAA,WAAW,OAAA;AACpB,6CAAmG;AAA1F,yHAAA,6BAA6B,OAAA;AAAE,4HAAA,gCAAgC,OAAA;AACxE,oDAAmD;AAA1C,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,6FAAA,IAAI,OAAA;AACb,qCAA2C;AAAlC,mGAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.4-alpha.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,eAAe,CAAC;AAOvC,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AAEnC,8CAA4B;AAC5B,6CAA2B;AAI3B,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AACvB,iDAAoD;AAA3C,4GAAA,cAAc,OAAA;AACvB,uDAA6D;AAApD,6GAAA,gBAAgB,OAAA;AACzB,2CAA+C;AAAtC,mGAAA,UAAU,OAAA;AAKnB,wDAAsC;AACtC,oDAAkC;AAGlC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAUgC;AAT9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AAEd,6DAAsE;AAA7D,+GAAA,YAAY,OAAA;AAAE,8GAAA,WAAW,OAAA;AAGlC,gDAA8B;AAC9B,uCAAmD;AAA1C,2GAAA,kBAAkB,OAAA;AAC3B,0CAAgD;AAAvC,mGAAA,WAAW,OAAA;AACpB,6CAAmG;AAA1F,yHAAA,6BAA6B,OAAA;AAAE,4HAAA,gCAAgC,OAAA;AACxE,oDAAmD;AAA1C,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,6FAAA,IAAI,OAAA;AACb,qCAA2C;AAAlC,mGAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.4-alpha.2\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
@@ -920,4 +920,4 @@ const registerVChartCore = () => {
920
920
  };
921
921
 
922
922
  exports.registerVChartCore = registerVChartCore, (0, exports.registerVChartCore)();
923
- //# sourceMappingURL=vchart.js.map
923
+ //# sourceMappingURL=vchart.js.map
@@ -241,12 +241,12 @@ class TreemapSeries extends cartesian_1.CartesianSeries {
241
241
  }
242
242
  enableMarkAnimation() {
243
243
  this.getMarks().forEach((mark => {})), [ this._labelMark, this._nonLeafLabelMark ].forEach((m => {
244
- m && m.getComponent() && m.getComponent().getProduct().getGroupGraphicItem().enableAnimation();
244
+ m && m.getComponent() && m.getComponent().getProduct().enableAnimation();
245
245
  })), this.event.off(event_1.HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);
246
246
  }
247
247
  disableMarkAnimation() {
248
248
  this.getMarks().forEach((mark => {})), [ this._labelMark, this._nonLeafLabelMark ].forEach((m => {
249
- m && m.getComponent() && m.getComponent().getProduct().getGroupGraphicItem().disableAnimation();
249
+ m && m.getComponent() && m.getComponent().getProduct().disableAnimation();
250
250
  }));
251
251
  }
252
252
  getDefaultShapeType() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/treemap/treemap.ts"],"names":[],"mappings":"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","file":"treemap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { HOOK_EVENT } from '../../constant/event';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { DEFAULT_DATA_KEY } from '../../constant/data';\nimport type { IMark, IRectMark, ILabelMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { Datum, IComposedTextMarkSpec, IRectMarkSpec } from '../../typings';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport type { ITreemapSeriesSpec } from './interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { flatten } from '../../data/transforms/flatten';\nimport type { IBounds } from '@visactor/vutils';\nimport { isValidNumber, Bounds, Matrix, mixin, merge } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { TreemapNodeElement } from '@visactor/vlayouts';\nimport { DataView } from '@visactor/vdataset';\nimport { hierarchyDimensionStatistics } from '../../data/transforms/hierarchy-dimension-statistics';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addHierarchyDataKey, initHierarchyKeyMap } from '../../data/transforms/data-key';\nimport { DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport { TreemapTooltipHelper } from './tooltip-helper';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { registerRectMark } from '../../mark/rect';\nimport { registerTextMark } from '../../mark/text';\nimport { treemapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerTreemapAnimation } from './animation';\nimport { TreemapSeriesSpecTransformer } from './treemap-transform';\nimport { appendHierarchyFields } from '../util/hierarchy';\nimport { registerMarkFilterTransform } from '../../mark/transform/filter';\nimport { registerMarkMapTransform } from '../../mark/transform/map';\nimport { treemapLayout } from '../../data/transforms/treemap';\nimport type { ITransformSpec } from '../../compile/interface/compilable-item';\nimport { treemap } from '../../theme/builtin/common/series/treemap';\n\nexport class TreemapSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.treemap;\n type = SeriesTypeEnum.treemap;\n\n static readonly mark: SeriesMarkMap = treemapSeriesMark;\n static readonly builtInTheme = { treemap };\n\n static readonly transformerConstructor = TreemapSeriesSpecTransformer;\n readonly transformerConstructor = TreemapSeriesSpecTransformer;\n\n private _leafMark: IRectMark;\n private _nonLeafMark: IRectMark;\n private _labelMark: ILabelMark;\n private _nonLeafLabelMark: ILabelMark;\n\n protected declare _spec: ITreemapSeriesSpec;\n\n protected _categoryField: string = 'name';\n\n getCategoryField() {\n return this._categoryField;\n }\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n protected _valueField: string = 'value';\n getValueField() {\n return this._valueField;\n }\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n private _maxDepth: number;\n\n // global scale and translate matrix\n private _matrix: Matrix;\n\n // range for treemap layout, change while zoom and pan\n private _viewBox: IBounds = new Bounds();\n\n private _enableAnimationHook = this.enableMarkAnimation.bind(this);\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n this._matrix = new Matrix();\n }\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? this._categoryField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n if (isValidNumber(this._spec.maxDepth)) {\n this._maxDepth = this._spec.maxDepth - 1;\n }\n }\n\n initData() {\n super.initData();\n\n registerDataSetInstanceTransform(this._dataSet, 'treemap', treemapLayout);\n\n this._data.getDataView()?.transform({\n type: 'treemap',\n options: {\n nameField: this._categoryField,\n valueField: this._valueField,\n getViewBox: () => {\n return this._viewBox.empty()\n ? null\n : {\n x0: this._viewBox.x1,\n x1: this._viewBox.x2,\n y0: this._viewBox.y1,\n y1: this._viewBox.y2\n };\n },\n maxDepth: this._maxDepth,\n gapWidth: this._spec.gapWidth,\n padding: this._spec.nodePadding,\n splitType: this._spec.splitType,\n aspectRatio: this._spec.aspectRatio,\n labelPadding: this._spec.nonLeafLabel?.visible ? this._spec.nonLeafLabel?.padding : 0,\n labelPosition: this._spec.nonLeafLabel?.position,\n minVisibleArea: this._spec.minVisibleArea ?? 10,\n minChildrenVisibleArea: this._spec.minChildrenVisibleArea,\n minChildrenVisibleSize: this._spec.minChildrenVisibleSize\n }\n });\n // 矩形树图中原始数据为层次结果,图元数据为平坦化后的结构,具体逻辑如下:\n if (this.getViewData()) {\n // 对原始数据进行上卷下钻筛选\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n }\n }\n\n protected _runTreemapTransform(render = false) {\n this._data.getDataView().reRunAllTransform();\n\n if (render) {\n this.getCompiler().renderNextTick();\n }\n }\n\n protected _addDataIndexAndKey() {\n if (this._rawData?.dataSet) {\n registerDataSetInstanceTransform(this._rawData.dataSet, 'addVChartProperty', addVChartProperty);\n this._rawData.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initHierarchyKeyMap.bind(this),\n call: addHierarchyDataKey\n }\n }\n // rawDataStatistic 需要统计 addHierarchyDataKey 的一些字段,所以必须要运行一下\n // false\n );\n }\n }\n\n getRawDataStatisticsByField(field: string, isNumeric?: boolean) {\n // overwrite the getRawDataStatisticsByField of base-series\n if (!this._rawStatisticsCache) {\n this._rawStatisticsCache = {};\n }\n\n if (!this._rawStatisticsCache[field]) {\n if (this._rawData) {\n const result = hierarchyDimensionStatistics([this._rawData], {\n fields: [{ key: field, operations: isNumeric ? ['min', 'max'] : ['values'] }]\n })[field];\n this._rawStatisticsCache[field] = merge(this._rawStatisticsCache[field] ?? {}, result);\n }\n }\n\n return this._rawStatisticsCache[field];\n }\n\n protected _createHierarchyDataStatistics(dataName: string, rawData: DataView[]) {\n registerDataSetInstanceTransform(this._dataSet, 'hierarchyDimensionStatistics', hierarchyDimensionStatistics);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n const data = new DataView(this._dataSet, { name: dataName });\n data.parse(rawData, {\n type: 'dataview'\n });\n data.transform(\n {\n type: 'hierarchyDimensionStatistics',\n options: {\n fields: () => {\n const fields = this.getStatisticFields();\n if (this._seriesField && this._seriesField !== this._categoryField) {\n fields.push({\n key: this._seriesField,\n operations: ['values']\n });\n }\n return fields;\n }\n }\n },\n false\n );\n return data;\n }\n\n getStatisticFields() {\n return appendHierarchyFields(super.getStatisticFields(), this._categoryField, this._valueField);\n }\n\n initMark() {\n const nonLeafMark = this._createMark(TreemapSeries.mark.nonLeaf, {\n isSeriesMark: true\n });\n if (nonLeafMark) {\n nonLeafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as ITransformSpec\n ]);\n this._nonLeafMark = nonLeafMark;\n }\n\n const leafMark = this._createMark(TreemapSeries.mark.leaf, {\n isSeriesMark: true\n });\n if (leafMark) {\n leafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as ITransformSpec\n ]);\n this._leafMark = leafMark;\n }\n }\n\n initMarkStyle() {\n this._initLeafMarkStyle();\n this._initNonLeafMarkStyle();\n }\n\n protected _initLeafMarkStyle() {\n if (!this._leafMark) {\n return;\n }\n\n this.setMarkStyle<IRectMarkSpec>(\n this._leafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafMarkStyle() {\n if (!this._nonLeafMark) {\n return;\n }\n this.setMarkStyle<IRectMarkSpec>(\n this._nonLeafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n _initRichStyleOfLabelMark(labelMark: ILabelMark) {\n if (labelMark.getTextType() === 'rich') {\n this.setMarkStyle<IComposedTextMarkSpec>(\n labelMark,\n {\n maxWidth: datum => Math.abs(datum.x0 - datum.x1),\n maxHeight: datum => Math.abs(datum.y0 - datum.y1),\n ellipsis: true\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n initLabelMarkStyle(labelMark: ILabelMark) {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n labelMark.setRule('treemap');\n this.setMarkStyle(\n labelMark,\n {\n x: datum => (datum.x0 + datum.x1) / 2,\n y: datum => (datum.y0 + datum.y1) / 2,\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n maxLineWidth: (datum: Datum) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n this._initRichStyleOfLabelMark(labelMark);\n }\n\n protected initNonLeafLabelMarkStyle(labelMark: ILabelMark) {\n if (!labelMark) {\n return;\n }\n this._nonLeafLabelMark = labelMark;\n labelMark.setRule('treemap');\n this.setMarkStyle(\n labelMark,\n {\n x: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.x0 + datum.labelRect.x1) / 2;\n }\n return (datum.x0 + datum.x1) / 2;\n },\n y: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.y0 + datum.labelRect.y1) / 2;\n }\n return (datum.y0 + datum.y1) / 2;\n },\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n maxLineWidth: (datum: any) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._initRichStyleOfLabelMark(labelMark);\n }\n\n initAnimation(): void {\n this.getMarksInType(MarkTypeEnum.rect).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('treemap')?.(),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n });\n }\n\n protected initEvent(): void {\n super.initEvent();\n // Roam\n if (this._spec.roam) {\n // 拖拽事件\n (this as unknown as IZoomable).initDragEventOfSeries(this);\n this.event.on('panmove', e => {\n this.handlePan(e as PanEventParam);\n });\n // 缩放事件\n (this as unknown as IZoomable).initZoomEventOfSeries(this);\n this.event.on('zoom', e => {\n this.handleZoom(e as ZoomEventParam);\n });\n }\n // Drill\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n protected _getDataIdKey() {\n return 'key';\n }\n\n protected initTooltip() {\n this._tooltipHelper = new TreemapTooltipHelper(this);\n this._leafMark && this._tooltipHelper.activeTriggerSet.mark.add(this._leafMark);\n this._nonLeafMark && this._tooltipHelper.activeTriggerSet.mark.add(this._nonLeafMark);\n }\n\n private _shouldFilterElement(datum: TreemapNodeElement, nodeType: 'leaf' | 'nonLeaf') {\n const isLeaf = datum.isLeaf;\n // 过滤掉非需要的节点\n return nodeType === 'leaf' ? !isLeaf : isLeaf;\n }\n\n handlePan(event: PanEventParam) {\n const { delta } = event;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n this._matrix.reset();\n this._matrix.translate(delta[0], delta[1]);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n\n this._viewBox.transformWithMatrix(this._matrix);\n\n this._runTreemapTransform(true);\n }\n\n handleZoom(event: ZoomEventParam) {\n const { scale, scaleCenter } = event;\n if (scale === 1) {\n return;\n }\n\n this._matrix.reset();\n const { x, y } = scaleCenter;\n this._matrix.translate(x, y);\n this._matrix.scale(scale, scale);\n this._matrix.translate(-x, -y);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n // 缩放过程中会有新增/减少的element,对应执行enter/exit动画,会使得缩放交互效果体验很差\n // 这里在缩放过程中先关闭所有动画\n this.disableMarkAnimation();\n this.event.on(HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n this._viewBox.transformWithMatrix(this._matrix);\n this._runTreemapTransform(true);\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this._viewBox.set(0, 0, this.getLayoutRect().width, this.getLayoutRect().height);\n this._runTreemapTransform();\n }\n\n protected enableMarkAnimation() {\n this.getMarks().forEach(mark => {\n // mark.getProduct().animate?.enable();\n });\n [this._labelMark, this._nonLeafLabelMark].forEach(m => {\n if (m && m.getComponent()) {\n m.getComponent().getProduct().getGroupGraphicItem().enableAnimation();\n }\n });\n // 在所有动画执行之后关闭动画\n this.event.off(HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n }\n\n protected disableMarkAnimation() {\n this.getMarks().forEach(mark => {\n // mark.getProduct().animate?.disable();\n });\n [this._labelMark, this._nonLeafLabelMark].forEach(m => {\n if (m && m.getComponent()) {\n m.getComponent().getProduct().getGroupGraphicItem().disableAnimation();\n }\n });\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._nonLeafMark, this._leafMark];\n }\n\n isHierarchyData = () => {\n return true;\n };\n\n getMarkData(datum: Datum) {\n return datum?.datum ? datum.datum[datum.datum.length - 1] : datum;\n }\n}\n\nmixin(TreemapSeries, Drillable);\nmixin(TreemapSeries, Zoomable);\n\nexport const registerTreemapSeries = () => {\n registerMarkFilterTransform();\n registerMarkMapTransform();\n registerRectMark();\n registerTextMark();\n registerTreemapAnimation();\n registerFadeInOutAnimation();\n Factory.registerSeries(TreemapSeries.type, TreemapSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/treemap/treemap.ts"],"names":[],"mappings":";;;AACA,4DAAgE;AAChE,gDAAkD;AAClD,wDAA0D;AAC1D,8CAAuD;AAIvD,sDAAyD;AAEzD,4CAAmD;AAEnD,kDAAuE;AACvE,2DAAwD;AAExD,6CAA+E;AAG/E,iDAA8C;AAC9C,yGAAoG;AACpG,qEAAuE;AACvE,6DAA0F;AAC1F,wDAAkE;AAClE,qDAAwD;AACxD,iDAA6E;AAC7E,mDAAoE;AAEpE,8DAA2D;AAE3D,iEAA8D;AAC9D,0CAAmD;AACnD,0CAAmD;AACnD,yCAA+C;AAC/C,gDAA6C;AAC7C,2CAAuD;AACvD,2DAAmE;AACnE,iDAA0D;AAC1D,wDAA0E;AAC1E,kDAAoE;AACpE,2DAA8D;AAE9D,uEAAoE;AAEpE,MAAa,aAAc,SAAQ,2BAAoB;IAAvD;;QAEE,SAAI,GAAG,qBAAc,CAAC,OAAO,CAAC;QAMrB,2BAAsB,GAAG,gDAA4B,CAAC;QASrD,mBAAc,GAAW,MAAM,CAAC;QAUhC,gBAAW,GAAW,OAAO,CAAC;QAehC,aAAQ,GAAY,IAAI,eAAM,EAAE,CAAC;QAEjC,yBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAoanE,oBAAe,GAAG,GAAG,EAAE;YACrB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IAKJ,CAAC;IApcC,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,gBAAgB,CAAC,CAAS;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAYD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,kCAAsB,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAClB,IAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,aAAa,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,EAAE,GAAG,EAAE,eAAC,OAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAI,IAAI,CAAC,cAAc,mCAAI,uBAAgB,CAAA,EAAA;gBAClF,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;aACpC,CAAC,CAAC;SACJ;QAED,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,QAAQ;;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,uBAAa,CAAC,CAAC;QAE1E,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,0CAAE,SAAS,CAAC;YAClC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,SAAS,EAAE,IAAI,CAAC,cAAc;gBAC9B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,UAAU,EAAE,GAAG,EAAE;oBACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;wBAC1B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC;4BACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;yBACrB,CAAC;gBACR,CAAC;gBACD,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;gBACnC,YAAY,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,EAAC,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrF,aAAa,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,QAAQ;gBAChD,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,EAAE;gBAC/C,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;gBACzD,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;aAC1D;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YAEtB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACnB,IAA8B,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClE;SACF;IACH,CAAC;IAES,oBAAoB,CAAC,MAAM,GAAG,KAAK;QAC3C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAE7C,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;SACrC;IACH,CAAC;IAES,mBAAmB;;QAC3B,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE;YAC1B,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,gCAAiB,CAAC,CAAC;YAChG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACrB;gBACE,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACP,UAAU,EAAE,8BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1C,IAAI,EAAE,8BAAmB;iBAC1B;aACF,CAGF,CAAC;SACH;IACH,CAAC;IAED,2BAA2B,CAAC,KAAa,EAAE,SAAmB;;QAE5D,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YACpC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,MAAM,MAAM,GAAG,IAAA,6DAA4B,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC3D,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAC9E,CAAC,CAAC,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAA,cAAK,EAAC,MAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,mCAAI,EAAE,EAAE,MAAM,CAAC,CAAC;aACxF;SACF;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAES,8BAA8B,CAAC,QAAgB,EAAE,OAAmB;QAC5E,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,8BAA8B,EAAE,6DAA4B,CAAC,CAAC;QAC9G,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CACZ;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE;gBACP,MAAM,EAAE,GAAG,EAAE;oBACX,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE;wBAClE,MAAM,CAAC,IAAI,CAAC;4BACV,GAAG,EAAE,IAAI,CAAC,YAAY;4BACtB,UAAU,EAAE,CAAC,QAAQ,CAAC;yBACvB,CAAC,CAAC;qBACJ;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF;SACF,EACD,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAA,iCAAqB,EAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClG,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YAC/D,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,YAAY,CAAC;gBACvB;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACtD,CAAC;iBACgB;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;SACjC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;YACzD,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,YAAY,CAAC;gBACpB;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACnD,CAAC;iBACgB;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC3B;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAES,kBAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;YACE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,4BAAgB,CAAC,YAAY,EAC7B,0BAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,YAAY,EACjB;YACE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,4BAAgB,CAAC,YAAY,EAC7B,0BAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,SAAqB;QAC7C,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;YACtC,IAAI,CAAC,YAAY,CACf,SAAS,EACT;gBACE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBAChD,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACjD,QAAQ,EAAE,IAAI;aACf,EACD,4BAAgB,CAAC,YAAY,EAC7B,0BAAc,CAAC,MAAM,CACtB,CAAC;SACH;IACH,CAAC;IAED,kBAAkB,CAAC,SAAqB;QACtC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;YACrC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;YACrC,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,OAAO,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,YAAY,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC7B,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;SACF,EACD,4BAAgB,CAAC,YAAY,EAC7B,0BAAc,CAAC,MAAM,CACtB,CAAC;QAEF,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAES,yBAAyB,CAAC,SAAqB;QACvD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,OAAO,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,YAAY,EAAE,CAAC,KAAU,EAAE,EAAE;gBAC3B,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;SACF,EACD,4BAAgB,CAAC,YAAY,EAC7B,0BAAc,CAAC,MAAM,CACtB,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa;QACX,IAAI,CAAC,cAAc,QAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YACpD,IAAI,CAAC,kBAAkB,CACrB,IAAA,uBAAe,EACb,MAAA,iBAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,2CAAI,EACxC,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,CACvE,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAElB,IAA6B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,CAAkB,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEF,IAA6B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;gBACxB,IAAI,CAAC,UAAU,CAAC,CAAmB,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,cAAc,EAAE,CAAC;SAClD;IACH,CAAC;IAES,aAAa;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,qCAAoB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IAEO,oBAAoB,CAAC,KAAyB,EAAE,QAA4B;QAClF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,KAAoB;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,KAAqB;QAC9B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAGxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAU,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,iBAAiB;QACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAES,mBAAmB;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAE/B,CAAC,CAAC,CAAC;QACH,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;gBACzB,CAAC,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAU,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACxE,CAAC;IAES,oBAAoB;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAE/B,CAAC,CAAC,CAAC;QACH,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;gBACzB,CAAC,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,gBAAgB,EAAE,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAMD,WAAW,CAAC,KAAY;QACtB,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,CAAC;;AAtdH,sCAudC;AAtdiB,kBAAI,GAAW,qBAAc,CAAC,OAAO,CAAC;AAGtC,kBAAI,GAAkB,4BAAiB,CAAC;AACxC,0BAAY,GAAG,EAAE,OAAO,EAAP,iBAAO,EAAE,CAAC;AAE3B,oCAAsB,GAAG,gDAA4B,CAAC;AAkdxE,IAAA,cAAK,EAAC,aAAa,EAAE,qBAAS,CAAC,CAAC;AAChC,IAAA,cAAK,EAAC,aAAa,EAAE,mBAAQ,CAAC,CAAC;AAExB,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,oCAA2B,GAAE,CAAC;IAC9B,IAAA,8BAAwB,GAAE,CAAC;IAC3B,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,oCAAwB,GAAE,CAAC;IAC3B,IAAA,mCAA0B,GAAE,CAAC;IAC7B,iBAAO,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC","file":"treemap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { HOOK_EVENT } from '../../constant/event';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { DEFAULT_DATA_KEY } from '../../constant/data';\nimport type { IMark, IRectMark, ILabelMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { Datum, IComposedTextMarkSpec, IRectMarkSpec } from '../../typings';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport type { ITreemapSeriesSpec } from './interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { flatten } from '../../data/transforms/flatten';\nimport type { IBounds } from '@visactor/vutils';\nimport { isValidNumber, Bounds, Matrix, mixin, merge } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { TreemapNodeElement } from '@visactor/vlayouts';\nimport { DataView } from '@visactor/vdataset';\nimport { hierarchyDimensionStatistics } from '../../data/transforms/hierarchy-dimension-statistics';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addHierarchyDataKey, initHierarchyKeyMap } from '../../data/transforms/data-key';\nimport { DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport { TreemapTooltipHelper } from './tooltip-helper';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { registerRectMark } from '../../mark/rect';\nimport { registerTextMark } from '../../mark/text';\nimport { treemapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerTreemapAnimation } from './animation';\nimport { TreemapSeriesSpecTransformer } from './treemap-transform';\nimport { appendHierarchyFields } from '../util/hierarchy';\nimport { registerMarkFilterTransform } from '../../mark/transform/filter';\nimport { registerMarkMapTransform } from '../../mark/transform/map';\nimport { treemapLayout } from '../../data/transforms/treemap';\nimport type { ITransformSpec } from '../../compile/interface/compilable-item';\nimport { treemap } from '../../theme/builtin/common/series/treemap';\n\nexport class TreemapSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.treemap;\n type = SeriesTypeEnum.treemap;\n\n static readonly mark: SeriesMarkMap = treemapSeriesMark;\n static readonly builtInTheme = { treemap };\n\n static readonly transformerConstructor = TreemapSeriesSpecTransformer;\n readonly transformerConstructor = TreemapSeriesSpecTransformer;\n\n private _leafMark: IRectMark;\n private _nonLeafMark: IRectMark;\n private _labelMark: ILabelMark;\n private _nonLeafLabelMark: ILabelMark;\n\n protected declare _spec: ITreemapSeriesSpec;\n\n protected _categoryField: string = 'name';\n\n getCategoryField() {\n return this._categoryField;\n }\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n protected _valueField: string = 'value';\n getValueField() {\n return this._valueField;\n }\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n private _maxDepth: number;\n\n // global scale and translate matrix\n private _matrix: Matrix;\n\n // range for treemap layout, change while zoom and pan\n private _viewBox: IBounds = new Bounds();\n\n private _enableAnimationHook = this.enableMarkAnimation.bind(this);\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n this._matrix = new Matrix();\n }\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? this._categoryField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n if (isValidNumber(this._spec.maxDepth)) {\n this._maxDepth = this._spec.maxDepth - 1;\n }\n }\n\n initData() {\n super.initData();\n\n registerDataSetInstanceTransform(this._dataSet, 'treemap', treemapLayout);\n\n this._data.getDataView()?.transform({\n type: 'treemap',\n options: {\n nameField: this._categoryField,\n valueField: this._valueField,\n getViewBox: () => {\n return this._viewBox.empty()\n ? null\n : {\n x0: this._viewBox.x1,\n x1: this._viewBox.x2,\n y0: this._viewBox.y1,\n y1: this._viewBox.y2\n };\n },\n maxDepth: this._maxDepth,\n gapWidth: this._spec.gapWidth,\n padding: this._spec.nodePadding,\n splitType: this._spec.splitType,\n aspectRatio: this._spec.aspectRatio,\n labelPadding: this._spec.nonLeafLabel?.visible ? this._spec.nonLeafLabel?.padding : 0,\n labelPosition: this._spec.nonLeafLabel?.position,\n minVisibleArea: this._spec.minVisibleArea ?? 10,\n minChildrenVisibleArea: this._spec.minChildrenVisibleArea,\n minChildrenVisibleSize: this._spec.minChildrenVisibleSize\n }\n });\n // 矩形树图中原始数据为层次结果,图元数据为平坦化后的结构,具体逻辑如下:\n if (this.getViewData()) {\n // 对原始数据进行上卷下钻筛选\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n }\n }\n\n protected _runTreemapTransform(render = false) {\n this._data.getDataView().reRunAllTransform();\n\n if (render) {\n this.getCompiler().renderNextTick();\n }\n }\n\n protected _addDataIndexAndKey() {\n if (this._rawData?.dataSet) {\n registerDataSetInstanceTransform(this._rawData.dataSet, 'addVChartProperty', addVChartProperty);\n this._rawData.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initHierarchyKeyMap.bind(this),\n call: addHierarchyDataKey\n }\n }\n // rawDataStatistic 需要统计 addHierarchyDataKey 的一些字段,所以必须要运行一下\n // false\n );\n }\n }\n\n getRawDataStatisticsByField(field: string, isNumeric?: boolean) {\n // overwrite the getRawDataStatisticsByField of base-series\n if (!this._rawStatisticsCache) {\n this._rawStatisticsCache = {};\n }\n\n if (!this._rawStatisticsCache[field]) {\n if (this._rawData) {\n const result = hierarchyDimensionStatistics([this._rawData], {\n fields: [{ key: field, operations: isNumeric ? ['min', 'max'] : ['values'] }]\n })[field];\n this._rawStatisticsCache[field] = merge(this._rawStatisticsCache[field] ?? {}, result);\n }\n }\n\n return this._rawStatisticsCache[field];\n }\n\n protected _createHierarchyDataStatistics(dataName: string, rawData: DataView[]) {\n registerDataSetInstanceTransform(this._dataSet, 'hierarchyDimensionStatistics', hierarchyDimensionStatistics);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n const data = new DataView(this._dataSet, { name: dataName });\n data.parse(rawData, {\n type: 'dataview'\n });\n data.transform(\n {\n type: 'hierarchyDimensionStatistics',\n options: {\n fields: () => {\n const fields = this.getStatisticFields();\n if (this._seriesField && this._seriesField !== this._categoryField) {\n fields.push({\n key: this._seriesField,\n operations: ['values']\n });\n }\n return fields;\n }\n }\n },\n false\n );\n return data;\n }\n\n getStatisticFields() {\n return appendHierarchyFields(super.getStatisticFields(), this._categoryField, this._valueField);\n }\n\n initMark() {\n const nonLeafMark = this._createMark(TreemapSeries.mark.nonLeaf, {\n isSeriesMark: true\n });\n if (nonLeafMark) {\n nonLeafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as ITransformSpec\n ]);\n this._nonLeafMark = nonLeafMark;\n }\n\n const leafMark = this._createMark(TreemapSeries.mark.leaf, {\n isSeriesMark: true\n });\n if (leafMark) {\n leafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as ITransformSpec\n ]);\n this._leafMark = leafMark;\n }\n }\n\n initMarkStyle() {\n this._initLeafMarkStyle();\n this._initNonLeafMarkStyle();\n }\n\n protected _initLeafMarkStyle() {\n if (!this._leafMark) {\n return;\n }\n\n this.setMarkStyle<IRectMarkSpec>(\n this._leafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafMarkStyle() {\n if (!this._nonLeafMark) {\n return;\n }\n this.setMarkStyle<IRectMarkSpec>(\n this._nonLeafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n _initRichStyleOfLabelMark(labelMark: ILabelMark) {\n if (labelMark.getTextType() === 'rich') {\n this.setMarkStyle<IComposedTextMarkSpec>(\n labelMark,\n {\n maxWidth: datum => Math.abs(datum.x0 - datum.x1),\n maxHeight: datum => Math.abs(datum.y0 - datum.y1),\n ellipsis: true\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n initLabelMarkStyle(labelMark: ILabelMark) {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n labelMark.setRule('treemap');\n this.setMarkStyle(\n labelMark,\n {\n x: datum => (datum.x0 + datum.x1) / 2,\n y: datum => (datum.y0 + datum.y1) / 2,\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n maxLineWidth: (datum: Datum) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n this._initRichStyleOfLabelMark(labelMark);\n }\n\n protected initNonLeafLabelMarkStyle(labelMark: ILabelMark) {\n if (!labelMark) {\n return;\n }\n this._nonLeafLabelMark = labelMark;\n labelMark.setRule('treemap');\n this.setMarkStyle(\n labelMark,\n {\n x: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.x0 + datum.labelRect.x1) / 2;\n }\n return (datum.x0 + datum.x1) / 2;\n },\n y: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.y0 + datum.labelRect.y1) / 2;\n }\n return (datum.y0 + datum.y1) / 2;\n },\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n maxLineWidth: (datum: any) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._initRichStyleOfLabelMark(labelMark);\n }\n\n initAnimation(): void {\n this.getMarksInType(MarkTypeEnum.rect).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('treemap')?.(),\n userAnimationConfig(mark.name, this._spec, this._markAttributeContext)\n )\n );\n });\n }\n\n protected initEvent(): void {\n super.initEvent();\n // Roam\n if (this._spec.roam) {\n // 拖拽事件\n (this as unknown as IZoomable).initDragEventOfSeries(this);\n this.event.on('panmove', e => {\n this.handlePan(e as PanEventParam);\n });\n // 缩放事件\n (this as unknown as IZoomable).initZoomEventOfSeries(this);\n this.event.on('zoom', e => {\n this.handleZoom(e as ZoomEventParam);\n });\n }\n // Drill\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n protected _getDataIdKey() {\n return 'key';\n }\n\n protected initTooltip() {\n this._tooltipHelper = new TreemapTooltipHelper(this);\n this._leafMark && this._tooltipHelper.activeTriggerSet.mark.add(this._leafMark);\n this._nonLeafMark && this._tooltipHelper.activeTriggerSet.mark.add(this._nonLeafMark);\n }\n\n private _shouldFilterElement(datum: TreemapNodeElement, nodeType: 'leaf' | 'nonLeaf') {\n const isLeaf = datum.isLeaf;\n // 过滤掉非需要的节点\n return nodeType === 'leaf' ? !isLeaf : isLeaf;\n }\n\n handlePan(event: PanEventParam) {\n const { delta } = event;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n this._matrix.reset();\n this._matrix.translate(delta[0], delta[1]);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n\n this._viewBox.transformWithMatrix(this._matrix);\n\n this._runTreemapTransform(true);\n }\n\n handleZoom(event: ZoomEventParam) {\n const { scale, scaleCenter } = event;\n if (scale === 1) {\n return;\n }\n\n this._matrix.reset();\n const { x, y } = scaleCenter;\n this._matrix.translate(x, y);\n this._matrix.scale(scale, scale);\n this._matrix.translate(-x, -y);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n // 缩放过程中会有新增/减少的element,对应执行enter/exit动画,会使得缩放交互效果体验很差\n // 这里在缩放过程中先关闭所有动画\n this.disableMarkAnimation();\n this.event.on(HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n this._viewBox.transformWithMatrix(this._matrix);\n this._runTreemapTransform(true);\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this._viewBox.set(0, 0, this.getLayoutRect().width, this.getLayoutRect().height);\n this._runTreemapTransform();\n }\n\n protected enableMarkAnimation() {\n this.getMarks().forEach(mark => {\n // mark.getProduct().animate?.enable();\n });\n [this._labelMark, this._nonLeafLabelMark].forEach(m => {\n if (m && m.getComponent()) {\n m.getComponent().getProduct().enableAnimation();\n }\n });\n // 在所有动画执行之后关闭动画\n this.event.off(HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n }\n\n protected disableMarkAnimation() {\n this.getMarks().forEach(mark => {\n // mark.getProduct().animate?.disable();\n });\n [this._labelMark, this._nonLeafLabelMark].forEach(m => {\n if (m && m.getComponent()) {\n m.getComponent().getProduct().disableAnimation();\n }\n });\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._nonLeafMark, this._leafMark];\n }\n\n isHierarchyData = () => {\n return true;\n };\n\n getMarkData(datum: Datum) {\n return datum?.datum ? datum.datum[datum.datum.length - 1] : datum;\n }\n}\n\nmixin(TreemapSeries, Drillable);\nmixin(TreemapSeries, Zoomable);\n\nexport const registerTreemapSeries = () => {\n registerMarkFilterTransform();\n registerMarkMapTransform();\n registerRectMark();\n registerTextMark();\n registerTreemapAnimation();\n registerFadeInOutAnimation();\n Factory.registerSeries(TreemapSeries.type, TreemapSeries);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import { CustomEvent, type IGraphicAttribute, type IGraphic, type IGroup, type INode } from '@visactor/vrender-core';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponent, IComponentOption } from '../interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Event_Source_Type } from '../../constant/event';\n// import { preprocessSpecOrTheme } from '../../util/spec/preprocess';\nimport type { Datum, ILayoutRect } from '../../typings';\nimport type { IComponentSpec } from './interface';\nimport { LayoutModel } from '../../model/layout-model';\nimport { BaseComponentSpecTransformer } from './base-component-transformer';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\n\nexport class BaseComponent<T extends IComponentSpec = IComponentSpec> extends LayoutModel<T> implements IComponent {\n static transformerConstructor = BaseComponentSpecTransformer;\n name: string = 'component';\n readonly modelType: string = 'component';\n readonly transformerConstructor = BaseComponentSpecTransformer as any;\n pluginService?: IComponentPluginService;\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption): IComponent {\n const { spec, ...others } = specInfo;\n return new this(spec, {\n ...options,\n ...others\n });\n }\n\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.initLayout();\n this.pluginService = new ComponentPluginService(this);\n }\n\n initLayout(): void {\n super.initLayout();\n this._regions = this._regions ?? this._option.getRegionsInIndex();\n this._layout && (this._layout.layoutBindRegionID = this._regions.map(x => x?.id));\n }\n /**\n * 当创建vrender组件时,reCompile 的时候需要清理老的组件,创建新的组件,需要通过这个返回\n * 注意,像label 组件比较特殊,现在是通过componentMark 管理的,所以不需要通过这个接口被清理\n */\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return this._getNeedClearVRenderComponents();\n }\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true) as IGroup;\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return !isEqual(prevSpec?.[k], spec[k]);\n });\n }\n if ((prevSpec as any)?.visible !== (spec as any).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n release() {\n super.release();\n this.clear();\n\n this.pluginService?.releaseAll();\n this.pluginService = null;\n }\n\n clear() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n this.getContainer()?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n }\n this._container = null;\n this.pluginService?.clearAll();\n }\n\n compile(): void {\n this.compileMarks();\n this.reAppendComponents();\n }\n\n compileMarks(group?: IGroup) {\n this.getMarks().forEach(m => {\n m.compile({ group, context: { model: this } });\n });\n }\n\n reAppendComponents() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c && !c.stage) {\n // component is removed remove stage\n\n this.getContainer()?.appendChild(c as unknown as INode);\n }\n });\n }\n }\n\n // 代理组件本身的事件(非内部图形),如坐标轴整体的点击等\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n // 组件这里只代理基础的事件,自定义事件不需要代理\n if (!(event instanceof CustomEvent)) {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n }\n };\n\n getBoundsInRect(rect: ILayoutRect, fullRect: ILayoutRect): IBoundsLike {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n getDatum(graphic?: IGraphic<Partial<IGraphicAttribute>>) {\n // override\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import { CustomEvent, type IGraphicAttribute, type IGraphic, type IGroup, type INode } from '@visactor/vrender-core';\nimport type { IRegion } from '../../region/interface';\nimport type { IComponent, IComponentOption } from '../interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nimport { Event_Source_Type } from '../../constant/event';\n// import { preprocessSpecOrTheme } from '../../util/spec/preprocess';\nimport type { Datum, ILayoutRect } from '../../typings';\nimport type { IComponentSpec } from './interface';\nimport { LayoutModel } from '../../model/layout-model';\nimport { BaseComponentSpecTransformer } from './base-component-transformer';\nimport type { IModelSpecInfo } from '../../model/interface';\n\nexport class BaseComponent<T extends IComponentSpec = IComponentSpec> extends LayoutModel<T> implements IComponent {\n static transformerConstructor = BaseComponentSpecTransformer;\n name: string = 'component';\n readonly modelType: string = 'component';\n readonly transformerConstructor = BaseComponentSpecTransformer as any;\n pluginService?: IComponentPluginService;\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption): IComponent {\n const { spec, ...others } = specInfo;\n return new this(spec, {\n ...options,\n ...others\n });\n }\n\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.initLayout();\n this.pluginService = new ComponentPluginService(this);\n }\n\n initLayout(): void {\n super.initLayout();\n this._regions = this._regions ?? this._option.getRegionsInIndex();\n this._layout && (this._layout.layoutBindRegionID = this._regions.map(x => x?.id));\n }\n /**\n * 当创建vrender组件时,reCompile 的时候需要清理老的组件,创建新的组件,需要通过这个返回\n * 注意,像label 组件比较特殊,现在是通过componentMark 管理的,所以不需要通过这个接口被清理\n */\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return this._getNeedClearVRenderComponents();\n }\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true) as IGroup;\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return !isEqual(prevSpec?.[k], spec[k]);\n });\n }\n if ((prevSpec as any)?.visible !== (spec as any).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n release() {\n super.release();\n this.clear();\n\n this.pluginService?.releaseAll();\n this.pluginService = null;\n }\n\n clear() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n this.getContainer()?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n }\n this._container = null;\n this.pluginService?.clearAll();\n }\n\n compile(): void {\n this.compileMarks();\n this.reAppendComponents();\n }\n\n compileMarks(group?: IGroup) {\n this.getMarks().forEach(m => {\n m.compile({ group, context: { model: this } });\n });\n }\n\n reAppendComponents() {\n const components = this._getNeedClearVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c && !c.stage) {\n // component is removed remove stage\n\n this.getContainer()?.appendChild(c as unknown as INode);\n }\n });\n }\n }\n\n // 代理组件本身的事件(非内部图形),如坐标轴整体的点击等\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n // 组件这里只代理基础的事件,自定义事件不需要代理\n if (!(event instanceof CustomEvent)) {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n }\n };\n\n getBoundsInRect(rect: ILayoutRect, fullRect: ILayoutRect): IBoundsLike {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n\n getDatum(graphic?: IGraphic<Partial<IGraphicAttribute>>) {\n // override\n return;\n }\n}\n"]}
@@ -114,11 +114,10 @@ export class CustomMark extends BaseComponent {
114
114
  }
115
115
  getVRenderComponents() {
116
116
  const comps = [], checkFunc = m => {
117
- var _a;
118
117
  if (m && "group" === m.type) m.getMarks().forEach((child => {
119
118
  checkFunc(child);
120
119
  })); else if ("component" === m.type) {
121
- const comp = null === (_a = null == m ? void 0 : m.getProduct()) || void 0 === _a ? void 0 : _a.getGroupGraphicItem();
120
+ const comp = null == m ? void 0 : m.getComponent();
122
121
  comp && comps.push(comp);
123
122
  }
124
123
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { PREFIX } from '../../constant/base';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport { MarkTypeEnum, type IGroupMark, type IMark } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n\n let parentMark: IGroupMark | null = null;\n if (this._spec.parent) {\n const mark = this.getChart()\n .getAllMarks()\n .find(m => m.getUserId() === this._spec.parent) as IGroupMark;\n if (mark.type === 'group') {\n parentMark = mark;\n }\n }\n this._createExtensionMark(this._spec, parentMark, `${PREFIX}_series_${this.id}_extensionMark`, 0);\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: isValid(spec.name) ? `${spec.name}` : `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (isValid(spec.id)) {\n mark.setUserId(spec.id);\n }\n\n if (this._option.globalInstance?.isAnimationEnable() && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.AABBBounds);\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n getVRenderComponents() {\n const comps: any[] = [];\n const checkFunc = (m: IMark) => {\n if (m && m.type === MarkTypeEnum.group) {\n m.getMarks().forEach(child => {\n checkFunc(child as IMark);\n });\n } else if (m.type === MarkTypeEnum.component) {\n const comp = m?.getProduct()?.getGroupGraphicItem();\n\n if (comp) {\n comps.push(comp);\n }\n }\n };\n\n this.getMarks().forEach(m => {\n checkFunc(m);\n });\n\n return comps;\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { PREFIX } from '../../constant/base';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport { IComponentMark, MarkTypeEnum, type IGroupMark } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n\n let parentMark: IGroupMark | null = null;\n if (this._spec.parent) {\n const mark = this.getChart()\n .getAllMarks()\n .find(m => m.getUserId() === this._spec.parent) as IGroupMark;\n if (mark.type === 'group') {\n parentMark = mark;\n }\n }\n this._createExtensionMark(this._spec, parentMark, `${PREFIX}_series_${this.id}_extensionMark`, 0);\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: isValid(spec.name) ? `${spec.name}` : `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (isValid(spec.id)) {\n mark.setUserId(spec.id);\n }\n\n if (this._option.globalInstance?.isAnimationEnable() && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.AABBBounds);\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n getVRenderComponents() {\n const comps: any[] = [];\n const checkFunc = (m: IComponentMark) => {\n if (m && m.type === MarkTypeEnum.group) {\n m.getMarks().forEach(child => {\n checkFunc(child as IComponentMark);\n });\n } else if (m.type === MarkTypeEnum.component) {\n const comp = m?.getComponent();\n\n if (comp) {\n comps.push(comp);\n }\n }\n };\n\n this.getMarks().forEach(m => {\n checkFunc(m as IComponentMark);\n });\n\n return comps;\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
@@ -7,5 +7,4 @@ export var AttributeLevel;
7
7
  AttributeLevel[AttributeLevel.User_Chart = 6] = "User_Chart", AttributeLevel[AttributeLevel.User_Series = 7] = "User_Series",
8
8
  AttributeLevel[AttributeLevel.User_Mark = 8] = "User_Mark", AttributeLevel[AttributeLevel.User_SeriesStyle = 9] = "User_SeriesStyle",
9
9
  AttributeLevel[AttributeLevel.Built_In = 99] = "Built_In";
10
- }(AttributeLevel || (AttributeLevel = {}));
11
- //# sourceMappingURL=attribute.js.map
10
+ }(AttributeLevel || (AttributeLevel = {}));
@@ -10,4 +10,5 @@ export const DEFAULT_LABEL_VISIBLE = `${PREFIX}_LABEL_VISIBLE`;
10
10
 
11
11
  export const DEFAULT_LABEL_X = `${PREFIX}_LABEL_X`;
12
12
 
13
- export const DEFAULT_LABEL_Y = `${PREFIX}_LABEL_Y`;
13
+ export const DEFAULT_LABEL_Y = `${PREFIX}_LABEL_Y`;
14
+ //# sourceMappingURL=label.js.map
@@ -1,4 +1,3 @@
1
1
  import { PREFIX } from "./base";
2
2
 
3
- export const WaterfallDefaultSeriesField = `${PREFIX}_waterfall_default_seriesField`;
4
- //# sourceMappingURL=waterfall.js.map
3
+ export const WaterfallDefaultSeriesField = `${PREFIX}_waterfall_default_seriesField`;
@@ -13,4 +13,4 @@ export const WORDCLOUD_DATA_TOTAL = `${PREFIX}_WORDCLOUD_DATA_TOTAL`;
13
13
  export const WORD_CLOUD_TEXT = `${PREFIX}_WORD_CLOUD_TEXT`;
14
14
 
15
15
  export const WORDCLOUD_SHAPE_DATA_TOTAL = `${PREFIX}_WORDCLOUD_SHAPE_DATA_TOTAL`;
16
- //# sourceMappingURL=word-cloud.js.map
16
+ //# sourceMappingURL=word-cloud.js.map
@@ -18,4 +18,5 @@ export class ExpressionFunction {
18
18
  getFunctionNameList() {
19
19
  return Object.keys(this.functions);
20
20
  }
21
- }
21
+ }
22
+ //# sourceMappingURL=expression-function.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "2.0.4-alpha.1";
4
+ export declare const version = "2.0.4-alpha.2";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export type { IRegion } from '../region/interface';
package/esm/core/index.js CHANGED
@@ -4,7 +4,7 @@ import { Factory } from "./factory";
4
4
 
5
5
  export { VChart, Factory };
6
6
 
7
- export const version = "2.0.4-alpha.1";
7
+ export const version = "2.0.4-alpha.2";
8
8
 
9
9
  export * from "../event/interface";
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAOvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAI3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGtE,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.4-alpha.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAOvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAI3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGtE,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.4-alpha.2\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}